using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using InfluxDB.Client.Api.Domain;
using InfluxDB.Client.Api.Service;
using InfluxDB.Client.Core;
namespace InfluxDB.Client
{
public interface IScraperTargetsApi
{
///
/// Creates a new ScraperTarget and sets with the new identifier.
///
/// the scraper to create
/// Cancellation token
/// created ScraperTarget
Task CreateScraperTargetAsync(ScraperTargetRequest scraperTargetRequest,
CancellationToken cancellationToken = default);
///
/// Creates a new ScraperTarget and sets with the new identifier.
///
/// the name of the new ScraperTarget
/// the url of the new ScraperTarget
/// the id of the bucket that its use to writes
/// the id of the organization that owns new ScraperTarget
/// Cancellation token
/// created ScraperTarget
Task CreateScraperTargetAsync(string name, string url,
string bucketId, string orgId, CancellationToken cancellationToken = default);
///
/// Update a ScraperTarget.
///
/// ScraperTarget update to apply
/// Cancellation token
/// updated ScraperTarget
Task UpdateScraperTargetAsync(ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Update a ScraperTarget.
///
/// id of the scraper target (required)
/// ScraperTargetRequest update to apply
/// Cancellation token
/// updated ScraperTarget
Task UpdateScraperTargetAsync(string scraperTargetId,
ScraperTargetRequest scraperTargetRequest, CancellationToken cancellationToken = default);
///
/// Delete a ScraperTarget.
///
/// ID of ScraperTarget to delete
/// Cancellation token
/// scraper target deleted
Task DeleteScraperTargetAsync(string scraperTargetId, CancellationToken cancellationToken = default);
///
/// Delete a ScraperTarget.
///
/// ScraperTarget to delete
/// Cancellation token
/// scraper target deleted
Task DeleteScraperTargetAsync(ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Clone a ScraperTarget.
///
/// name of cloned ScraperTarget
/// ID of ScraperTarget to clone
/// Cancellation token
/// cloned ScraperTarget
Task CloneScraperTargetAsync(string clonedName, string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Clone a ScraperTarget.
///
/// name of cloned ScraperTarget
/// ScraperTarget to clone
/// Cancellation token
/// cloned ScraperTarget
Task CloneScraperTargetAsync(string clonedName,
ScraperTargetResponse scraperTargetResponse, CancellationToken cancellationToken = default);
///
/// Retrieve a ScraperTarget.
///
/// ID of ScraperTarget to get
/// Cancellation token
/// ScraperTarget details
Task FindScraperTargetByIdAsync(string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Get all ScraperTargets.
///
/// Cancellation token
/// A list of ScraperTargets
Task> FindScraperTargetsAsync(
CancellationToken cancellationToken = default);
///
/// Get all ScraperTargets.
///
/// specifies the organization of the resource
/// Cancellation token
/// A list of ScraperTargets
Task> FindScraperTargetsByOrgAsync(Organization organization,
CancellationToken cancellationToken = default);
///
/// Get all ScraperTargets.
///
/// specifies the organization ID of the resource
/// Cancellation token
/// A list of ScraperTargets
Task> FindScraperTargetsByOrgIdAsync(string orgId,
CancellationToken cancellationToken = default);
///
/// List all members of a ScraperTarget.
///
/// ScraperTarget of the members
/// Cancellation token
/// the List all members of a ScraperTarget
Task> GetMembersAsync(ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// List all members of a ScraperTarget.
///
/// ID of ScraperTarget to get members
/// Cancellation token
/// the List all members of a ScraperTarget
Task> GetMembersAsync(string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Add a ScraperTarget member.
///
/// the member of a scraperTarget
/// the ScraperTarget of a member
/// Cancellation token
/// created mapping
Task AddMemberAsync(User member, ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Add a ScraperTarget member.
///
/// the ID of a member
/// the ID of a scraperTarget
/// Cancellation token
/// created mapping
Task AddMemberAsync(string memberId, string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Removes a member from a ScraperTarget.
///
/// the member of a ScraperTarget
/// the ScraperTarget of a member
/// Cancellation token
/// async task
Task DeleteMemberAsync(User member, ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Removes a member from a ScraperTarget.
///
/// the ID of a member
/// the ID of a ScraperTarget
/// Cancellation token
/// async task
Task DeleteMemberAsync(string memberId, string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// List all owners of a ScraperTarget.
///
/// ScraperTarget of the owners
/// Cancellation token
/// the List all owners of a ScraperTarget
Task> GetOwnersAsync(ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// List all owners of a ScraperTarget.
///
/// ID of a ScraperTarget to get owners
/// Cancellation token
/// the List all owners of a scraperTarget
Task> GetOwnersAsync(string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Add a ScraperTarget owner.
///
/// the owner of a ScraperTarget
/// the ScraperTarget of a owner
/// Cancellation token
/// created mapping
Task AddOwnerAsync(User owner, ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Add a ScraperTarget owner.
///
/// the ID of a owner
/// the ID of a ScraperTarget
/// Cancellation token
/// created mapping
Task AddOwnerAsync(string ownerId, string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Removes a owner from a ScraperTarget.
///
/// the owner of a scraperTarget
/// the ScraperTarget of a owner
/// Cancellation token
/// async task
Task DeleteOwnerAsync(User owner, ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// Removes a owner from a ScraperTarget.
///
/// the ID of a owner
/// the ID of a ScraperTarget
/// Cancellation token
/// async task
Task DeleteOwnerAsync(string ownerId, string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// List all labels of a ScraperTarget.
///
/// a ScraperTarget of the labels
/// Cancellation token
/// the List all labels of a ScraperTarget
Task> GetLabelsAsync(ScraperTargetResponse scraperTargetResponse,
CancellationToken cancellationToken = default);
///
/// List all labels of a ScraperTarget.
///
/// ID of a ScraperTarget to get labels
/// Cancellation token
/// the List all labels of a ScraperTarget
Task> GetLabelsAsync(string scraperTargetId,
CancellationToken cancellationToken = default);
///
/// Add a ScraperTarget label.
///
/// the label of a ScraperTarget
/// a ScraperTarget of a label
/// Cancellation token
/// added label
Task