using System;
using System.Diagnostics.CodeAnalysis;
using System.Reactive;
namespace Octokit.Reactive
{
///
/// A client for GitHub's Repository Deploy Keys API.
///
///
/// See the Deploy Keys API documentation for more information.
///
public interface IObservableRepositoryDeployKeysClient
{
///
/// Get a single deploy key by number for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository.
/// The name of the repository.
/// The id of the deploy key.
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
IObservable Get(string owner, string name, int number);
///
/// Get a single deploy key by number for a repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository.
/// The id of the deploy key.
[SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get")]
IObservable Get(long repositoryId, int number);
///
/// Get all deploy keys for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository.
/// The name of the repository.
IObservable GetAll(string owner, string name);
///
/// Get all deploy keys for a repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository.
IObservable GetAll(long repositoryId);
///
/// Get all deploy keys for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository.
/// The name of the repository.
/// Options for changing the API response
IObservable GetAll(string owner, string name, ApiOptions options);
///
/// Get all deploy keys for a repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository.
/// Options for changing the API response
IObservable GetAll(long repositoryId, ApiOptions options);
///
/// Creates a new deploy key for a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository.
/// The name of the repository.
/// The deploy key to create for the repository.
IObservable Create(string owner, string name, NewDeployKey newDeployKey);
///
/// Creates a new deploy key for a repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository.
/// The deploy key to create for the repository.
IObservable Create(long repositoryId, NewDeployKey newDeployKey);
///
/// Deletes a deploy key from a repository.
///
///
/// See the API documentation for more information.
///
/// The owner of the repository.
/// The name of the repository.
/// The id of the deploy key to delete.
IObservable Delete(string owner, string name, int number);
///
/// Deletes a deploy key from a repository.
///
///
/// See the API documentation for more information.
///
/// The Id of the repository.
/// The id of the deploy key to delete.
IObservable Delete(long repositoryId, int number);
}
}