@maienm/pulumi-readarr
Version:
A Pulumi package for creating and managing Readarr resources. Based on terraform-provider-readarr: version v2.1.0
1,564 lines (1,563 loc) • 32.4 kB
TypeScript
import * as outputs from "../types/output";
export declare namespace Authors {
interface GetAuthorsAuthor {
/**
* Author name.
*/
authorName: string;
/**
* Foreign author ID.
*/
foreignAuthorId: string;
/**
* List genres.
*/
genres: string[];
/**
* Author ID.
*/
id: number;
/**
* Monitored flag.
*/
monitored: boolean;
/**
* Overview.
*/
overview: string;
/**
* Full author path.
*/
path: string;
/**
* Quality profile ID.
*/
qualityProfileId: number;
/**
* Author status.
*/
status: string;
/**
* List of associated tags.
*/
tags: number[];
}
}
export declare namespace DownloadClients {
interface GetDownloadClientsDownloadClient {
/**
* Add paused flag.
*/
addPaused: boolean;
/**
* Add stopped flag.
*/
addStopped: boolean;
/**
* Additional tags, `0` TitleSlug, `1` Quality, `2` Language, `3` ReleaseGroup, `4` Year, `5` Indexer, `6` Network.
*/
additionalTags: number[];
/**
* API key.
*/
apiKey: string;
/**
* Book category.
*/
bookCategory: string;
/**
* Book directory.
*/
bookDirectory: string;
/**
* Book imported category.
*/
bookImportedCategory: string;
/**
* Book directory.
*/
bookdirectory: string;
/**
* Category.
*/
category: string;
/**
* DownloadClient configuration template.
*/
configContract: string;
/**
* Destination.
*/
destination: string;
/**
* Enable flag.
*/
enable: boolean;
/**
* Field tags.
*/
fieldTags: string[];
/**
* First and last flag.
*/
firstAndLast: boolean;
/**
* host.
*/
host: string;
/**
* Download Client ID.
*/
id: number;
/**
* DownloadClient implementation name.
*/
implementation: string;
/**
* Initial state. `0` Start, `1` ForceStart, `2` Pause.
*/
initialState: number;
/**
* Initial state, with Stop support. `0` Start, `1` ForceStart, `2` Pause, `3` Stop.
*/
intialState: number;
/**
* Magnet file extension.
*/
magnetFileExtension: string;
/**
* Download Client name.
*/
name: string;
/**
* NZB folder.
*/
nzbFolder: string;
/**
* Older Book priority. `0` Last, `1` First.
*/
olderBookPriority: number;
/**
* Password.
*/
password: string;
/**
* Port.
*/
port: number;
/**
* Post import tags.
*/
postImportTags: string[];
/**
* Priority.
*/
priority: number;
/**
* Protocol. Valid values are 'usenet' and 'torrent'.
*/
protocol: string;
/**
* Read only flag.
*/
readOnly: boolean;
/**
* Recent Book priority. `0` Last, `1` First.
*/
recentBookPriority: number;
/**
* Remove completed downloads flag.
*/
removeCompletedDownloads: boolean;
/**
* Remove failed downloads flag.
*/
removeFailedDownloads: boolean;
/**
* RPC path.
*/
rpcPath: string;
/**
* Save magnet files flag.
*/
saveMagnetFiles: boolean;
/**
* Secret token.
*/
secretToken: string;
/**
* Sequential order flag.
*/
sequentialOrder: boolean;
/**
* Start on add flag.
*/
startOnAdd: boolean;
/**
* STRM folder.
*/
strmFolder: string;
/**
* List of associated tags.
*/
tags: number[];
/**
* Torrent folder.
*/
torrentFolder: string;
/**
* Base URL.
*/
urlBase: string;
/**
* Use SSL flag.
*/
useSsl: boolean;
/**
* Username.
*/
username: string;
/**
* Watch folder flag.
*/
watchFolder: string;
}
interface GetRemotePathMappingsRemotePathMapping {
/**
* Download Client host.
*/
host: string;
/**
* RemotePathMapping ID.
*/
id: number;
/**
* Local path.
*/
localPath: string;
/**
* Download Client remote path.
*/
remotePath: string;
}
}
export declare namespace ImportLists {
interface GetExclusionsImportListExclusion {
/**
* Author to be excluded.
*/
authorName: string;
/**
* Musicbrainz ID.
*/
foreignId: string;
/**
* ImportListExclusion ID.
*/
id: number;
}
interface GetImportListsImportList {
/**
* Access token.
*/
accessToken: string;
/**
* Access token secret.
*/
accessTokenSecret: string;
/**
* API key.
*/
apiKey: string;
/**
* Base URL.
*/
baseUrl: string;
/**
* Bookshelf IDs.
*/
bookshelfIds: string[];
/**
* ImportList configuration template.
*/
configContract: string;
/**
* Enable automatic add flag.
*/
enableAutomaticAdd: boolean;
/**
* Import List ID.
*/
id: number;
/**
* ImportList implementation name.
*/
implementation: string;
/**
* List ID.
*/
listId: number;
/**
* List order.
*/
listOrder: number;
/**
* List type.
*/
listType: string;
/**
* Metadata profile ID.
*/
metadataProfileId: number;
/**
* Monitor new items.
*/
monitorNewItems: string;
/**
* Import List name.
*/
name: string;
/**
* Profile IDs.
*/
profileIds: number[];
/**
* Quality profile ID.
*/
qualityProfileId: number;
/**
* Request token secret.
*/
requestTokenSecret: string;
/**
* Root folder path.
*/
rootFolderPath: string;
/**
* Series ID.
*/
seriesId: number;
/**
* Should monitor.
*/
shouldMonitor: string;
/**
* Should monitor existing flag.
*/
shouldMonitorExisting: boolean;
/**
* Should search flag.
*/
shouldSearch: boolean;
/**
* Tag IDs.
*/
tagIds: number[];
/**
* List of associated tags.
*/
tags: number[];
/**
* User ID.
*/
userId: string;
/**
* Username.
*/
username: string;
}
}
export declare namespace Indexers {
interface GetIndexersIndexer {
/**
* Additional parameters.
*/
additionalParameters: string;
/**
* Allow zero size files.
*/
allowZeroSize: boolean;
/**
* API key.
*/
apiKey: string;
/**
* API path.
*/
apiPath: string;
/**
* API User.
*/
apiUser: string;
/**
* Author seed time.
*/
authorSeedTime: number;
/**
* Base URL.
*/
baseUrl: string;
/**
* Captcha token.
*/
captchaToken: string;
/**
* Series list.
*/
categories: number[];
/**
* Indexer configuration template.
*/
configContract: string;
/**
* Cookie.
*/
cookie: string;
/**
* Delay before grabbing.
*/
delay: number;
/**
* Early release limit.
*/
earlyReleaseLimit: number;
/**
* Enable automatic search flag.
*/
enableAutomaticSearch: boolean;
/**
* Enable interactive search flag.
*/
enableInteractiveSearch: boolean;
/**
* Enable RSS flag.
*/
enableRss: boolean;
/**
* Indexer ID.
*/
id: number;
/**
* Indexer implementation name.
*/
implementation: string;
/**
* Minimum seeders.
*/
minimumSeeders: number;
/**
* Indexer name.
*/
name: string;
/**
* Passkey.
*/
passkey: string;
/**
* Password.
*/
password: string;
/**
* Priority.
*/
priority: number;
/**
* Protocol. Valid values are 'usenet' and 'torrent'.
*/
protocol: string;
/**
* Allow ranked only.
*/
rankedOnly: boolean;
/**
* Seed ratio.
*/
seedRatio: number;
/**
* Seed time.
*/
seedTime: number;
/**
* List of associated tags.
*/
tags: number[];
/**
* Username.
*/
username: string;
}
}
export declare namespace MediaManagement {
interface GetRootFoldersRootFolder {
/**
* Access flag.
*/
accessible: boolean;
/**
* Default metadata profile ID.
*/
defaultMetadataProfileId: number;
/**
* Default monitor new item option.
*/
defaultMonitorNewItemOption: string;
/**
* Default monitor option.
*/
defaultMonitorOption: string;
/**
* Default metadata profile ID.
*/
defaultQualityProfileId: number;
/**
* List of associated tags.
*/
defaultTags: number[];
/**
* Calibre host.
*/
host: string;
/**
* Root Folder ID.
*/
id: number;
/**
* Is calibre library flag.
*/
isCalibreLibrary: boolean;
/**
* Calibre library.
*/
library: string;
/**
* Root Folder name.
*/
name: string;
/**
* Calibre output profile.
*/
outputProfile: string;
/**
* Calibre password.
*/
password: string;
/**
* Root Folder absolute path.
*/
path: string;
/**
* Calibre Port.
*/
port: number;
/**
* Use SSL for calibre connection.
*/
useSsl: boolean;
/**
* Calibre username.
*/
username: string;
}
}
export declare namespace Metadata {
interface GetProfilesMetadataProfile {
/**
* Allowed languages. Comma separated list of ISO 639-3 language codes.
*/
allowedLanguages: string;
/**
* Metadata Profile ID.
*/
id: number;
/**
* Terms to ignore.
*/
ignoreds: string[];
/**
* Minimum pages.
*/
minPages: number;
/**
* Minimum popularity.
*/
minPopularity: number;
/**
* Metadata Profile name.
*/
name: string;
/**
* Skip missing date.
*/
skipMissingDate: boolean;
/**
* Skip missing ISBN.
*/
skipMissingIsbn: boolean;
/**
* Skip parts and sets.
*/
skipPartsAndSets: boolean;
/**
* Skip secondary series books.
*/
skipSeriesSecondary: boolean;
}
}
export declare namespace Notifications {
interface GetNotificationsNotification {
/**
* Access token.
*/
accessToken: string;
/**
* Access token secret.
*/
accessTokenSecret: string;
/**
* Add IDs.
*/
addIds: string[];
/**
* API key.
*/
apiKey: string;
/**
* App token.
*/
appToken: string;
/**
* Arguments.
*/
arguments: string;
/**
* Attach files flag.
*/
attachFiles: boolean;
/**
* Auth user.
*/
authUser: string;
/**
* Author.
*/
author: string;
/**
* Avatar.
*/
avatar: string;
/**
* Bcc.
*/
bccs: string[];
/**
* Bot token.
*/
botToken: string;
/**
* Cc.
*/
ccs: string[];
/**
* Channel.
*/
channel: string;
/**
* Channel tags.
*/
channelTags: string[];
/**
* Chat ID.
*/
chatId: string;
/**
* Click URL.
*/
clickUrl: string;
/**
* Condition. `10` BrandNew, `20` LikeNew, `30` VeryGood, `40` Good, `50` Acceptable, `60` Poor.
*/
condition: number;
/**
* Notification configuration template.
*/
configContract: string;
/**
* Consumer key.
*/
consumerKey: string;
/**
* Consumer secret.
*/
consumerSecret: string;
/**
* Condition description.
*/
description: string;
/**
* Device IDs.
*/
deviceIds: string[];
/**
* Device names.
*/
deviceNames: string;
/**
* Devices.
*/
devices: string[];
/**
* Direct message flag.
*/
directMessage: boolean;
/**
* Event.
*/
event: string;
/**
* Expire.
*/
expire: number;
/**
* Devices.
*/
fieldTags: string[];
/**
* From.
*/
from: string;
/**
* Grab fields. `0` Overview, `1` Rating, `2` Genres, `3` Quality, `4` Group, `5` Size, `6` Links, `7` Release, `8` Poster, `9` Fanart, `10` CustomFormats, `11` CustomFormatScore.
*/
grabFields: number;
/**
* Host.
*/
host: string;
/**
* Icon.
*/
icon: string;
/**
* Notification ID.
*/
id: number;
/**
* Notification implementation name.
*/
implementation: string;
/**
* Import fields. `0` Overview, `1` Rating, `2` Genres, `3` Quality, `4` Codecs, `5` Group, `6` Size, `7` Languages, `8` Subtitles, `9` Links, `10` Release, `11` Poster, `12` Fanart.
*/
importFields: number;
/**
* Include health warnings.
*/
includeHealthWarnings: boolean;
/**
* Instance name.
*/
instanceName: string;
/**
* Key.
*/
key: string;
/**
* Purchase location.
*/
location: string;
/**
* Map From.
*/
mapFrom: string;
/**
* Map To.
*/
mapTo: string;
/**
* Mention.
*/
mention: string;
/**
* Method. `1` POST, `2` PUT.
*/
method: number;
/**
* Notification name.
*/
name: string;
/**
* Notify flag.
*/
notify: boolean;
/**
* On application update flag.
*/
onApplicationUpdate: boolean;
/**
* On author deleted flag.
*/
onAuthorDelete: boolean;
/**
* On book delete flag.
*/
onBookDelete: boolean;
/**
* On book file delete flag.
*/
onBookFileDelete: boolean;
/**
* On book file delete for upgrade flag.
*/
onBookFileDeleteForUpgrade: boolean;
/**
* On book retag flag.
*/
onBookRetag: boolean;
/**
* On download failure flag.
*/
onDownloadFailure: boolean;
/**
* On grab flag.
*/
onGrab: boolean;
/**
* On health issue flag.
*/
onHealthIssue: boolean;
/**
* On import failure flag.
*/
onImportFailure: boolean;
/**
* On release import flag.
*/
onReleaseImport: boolean;
/**
* On rename flag.
*/
onRename: boolean;
/**
* On upgrade flag.
*/
onUpgrade: boolean;
/**
* password.
*/
password: string;
/**
* Path.
*/
path: string;
/**
* Port.
*/
port: number;
/**
* Priority.
*/
priority: number;
/**
* Recipients.
*/
recipients: string[];
/**
* Refresh token.
*/
refreshToken: string;
/**
* Remove IDs.
*/
removeIds: string[];
/**
* Request token secret.
*/
requestTokenSecret: string;
/**
* Require encryption flag.
*/
requireEncryption: boolean;
/**
* Retry.
*/
retry: number;
/**
* Add silently flag.
*/
sendSilently: boolean;
/**
* Sender domain.
*/
senderDomain: string;
/**
* Sender ID.
*/
senderId: string;
/**
* server.
*/
server: string;
/**
* Server url.
*/
serverUrl: string;
/**
* Sign in.
*/
signIn: string;
/**
* Sound.
*/
sound: string;
/**
* List of associated tags.
*/
tags: number[];
/**
* Token.
*/
token: string;
/**
* Devices.
*/
topics: string[];
/**
* To.
*/
tos: string[];
/**
* Update library flag.
*/
updateLibrary: boolean;
/**
* URL.
*/
url: string;
/**
* URL base.
*/
urlBase: string;
/**
* Use EU endpoint flag.
*/
useEuEndpoint: boolean;
/**
* Use SSL flag.
*/
useSsl: boolean;
/**
* User ID.
*/
userId: string;
/**
* User key.
*/
userKey: string;
/**
* Username.
*/
username: string;
/**
* Web hook url.
*/
webHookUrl: string;
}
}
export declare namespace Profiles {
interface CustomFormatSpecification {
/**
* Implementation.
*/
implementation: string;
/**
* Max.
*/
max: number;
/**
* Min.
*/
min: number;
/**
* Specification name.
*/
name: string;
/**
* Negate flag.
*/
negate: boolean;
/**
* Required flag.
*/
required: boolean;
/**
* Value.
*/
value: string;
}
interface GetCustomFormatSpecification {
/**
* Implementation.
*/
implementation: string;
/**
* Max.
*/
max: number;
/**
* Min.
*/
min: number;
/**
* Specification name.
*/
name: string;
/**
* Negate flag.
*/
negate: boolean;
/**
* Computed flag.
*/
required: boolean;
/**
* Value.
*/
value: string;
}
interface GetCustomFormatsCustomFormat {
/**
* Custom Format ID.
*/
id: number;
/**
* Include custom format when renaming flag.
*/
includeCustomFormatWhenRenaming: boolean;
/**
* Custom Format name.
*/
name: string;
/**
* Specifications.
*/
specifications: outputs.Profiles.GetCustomFormatsCustomFormatSpecification[];
}
interface GetCustomFormatsCustomFormatSpecification {
/**
* Implementation.
*/
implementation: string;
/**
* Max.
*/
max: number;
/**
* Min.
*/
min: number;
/**
* Custom Format name.
*/
name: string;
/**
* Negate flag.
*/
negate: boolean;
/**
* Computed flag.
*/
required: boolean;
/**
* Value.
*/
value: string;
}
interface GetDelayProfilesDelayProfile {
/**
* Torrent allowed Flag.
*/
enableTorrent: boolean;
/**
* Usenet allowed Flag.
*/
enableUsenet: boolean;
/**
* Delay Profile ID.
*/
id: number;
/**
* Order.
*/
order: number;
/**
* Preferred protocol.
*/
preferredProtocol: string;
/**
* List of associated tags.
*/
tags: number[];
/**
* Torrent Delay.
*/
torrentDelay: number;
/**
* Usenet delay.
*/
usenetDelay: number;
}
interface GetQualityDefinitionsQualityDefinition {
/**
* Quality Definition ID.
*/
id: number;
/**
* Maximum size MB/min.
*/
maxSize: number;
/**
* Minimum size MB/min.
*/
minSize: number;
/**
* Quality ID.
*/
qualityId: number;
/**
* Quality Name.
*/
qualityName: string;
/**
* Quality Definition Title.
*/
title: string;
}
interface GetQualityProfileFormatItem {
/**
* Format.
*/
format: number;
/**
* Name.
*/
name: string;
/**
* Score.
*/
score: number;
}
interface GetQualityProfileQualityGroup {
/**
* Quality group ID.
*/
id: number;
/**
* Quality group name.
*/
name: string;
/**
* Qualities in group.
*/
qualities: outputs.Profiles.GetQualityProfileQualityGroupQuality[];
}
interface GetQualityProfileQualityGroupQuality {
/**
* Quality group ID.
*/
id: number;
/**
* Name.
*/
name: string;
}
interface GetQualityProfilesQualityProfile {
/**
* Quality ID to which cutoff.
*/
cutoff: number;
/**
* Cutoff format score.
*/
cutoffFormatScore: number;
/**
* Format items.
*/
formatItems: outputs.Profiles.GetQualityProfilesQualityProfileFormatItem[];
/**
* Quality Profile ID.
*/
id: number;
/**
* Min format score.
*/
minFormatScore: number;
/**
* Quality Profile Name.
*/
name: string;
/**
* Quality groups.
*/
qualityGroups: outputs.Profiles.GetQualityProfilesQualityProfileQualityGroup[];
/**
* Upgrade allowed flag.
*/
upgradeAllowed: boolean;
}
interface GetQualityProfilesQualityProfileFormatItem {
/**
* Format.
*/
format: number;
/**
* Name.
*/
name: string;
/**
* Score.
*/
score: number;
}
interface GetQualityProfilesQualityProfileQualityGroup {
/**
* Quality Profile ID.
*/
id: number;
/**
* Name.
*/
name: string;
/**
* Qualities in group.
*/
qualities: outputs.Profiles.GetQualityProfilesQualityProfileQualityGroupQuality[];
}
interface GetQualityProfilesQualityProfileQualityGroupQuality {
/**
* Quality Profile ID.
*/
id: number;
/**
* Name.
*/
name: string;
}
interface GetReleaseProfilesReleaseProfile {
/**
* Enabled.
*/
enabled: boolean;
/**
* Release Profile ID.
*/
id: number;
/**
* Ignored terms. At least one of `required` and `ignored` must be set.
*/
ignoreds: string[];
/**
* Indexer ID. Set `0` for all.
*/
indexerId: number;
/**
* Required terms. At least one of `required` and `ignored` must be set.
*/
requireds: string[];
/**
* List of associated tags.
*/
tags: number[];
}
interface QualityProfileFormatItem {
/**
* Format.
*/
format: number;
/**
* Name.
*/
name: string;
/**
* Score.
*/
score: number;
}
interface QualityProfileQualityGroup {
/**
* Quality group ID.
*/
id: number;
/**
* Quality group name.
*/
name: string;
/**
* Ordered list of qualities in group.
*/
qualities: outputs.Profiles.QualityProfileQualityGroupQuality[];
}
interface QualityProfileQualityGroupQuality {
/**
* Quality group ID.
*/
id: number;
/**
* Name.
*/
name: string;
}
}
export declare namespace System {
interface GetHostAuthentication {
/**
* Needed for validation.
*/
encryptedPassword: string;
/**
* Authentication method.
*/
method: string;
/**
* Password.
*/
password: string;
/**
* Username.
*/
username: string;
}
interface GetHostBackup {
/**
* Backup folder.
*/
folder: string;
/**
* Backup interval.
*/
interval: number;
/**
* Backup retention.
*/
retention: number;
}
interface GetHostLogging {
/**
* Enable analytics flag.
*/
analyticsEnabled: boolean;
/**
* Console log level.
*/
consoleLogLevel: string;
/**
* Log level.
*/
logLevel: string;
}
interface GetHostProxy {
/**
* Bypass filder.
*/
bypassFilter: string;
/**
* Bypass for local addresses flag.
*/
bypassLocalAddresses: boolean;
/**
* Enabled.
*/
enabled: boolean;
/**
* Proxy hostname.
*/
hostname: string;
/**
* Proxy password.
*/
password: string;
/**
* Proxy port.
*/
port: number;
/**
* Proxy type.
*/
type: string;
/**
* Proxy username.
*/
username: string;
}
interface GetHostSsl {
/**
* Certificate Password.
*/
certPassword: string;
/**
* Certificate path.
*/
certPath: string;
/**
* Certificate validation.
*/
certificateValidation: string;
/**
* Enabled.
*/
enabled: boolean;
/**
* SSL port.
*/
port: number;
}
interface GetHostUpdate {
/**
* Branch reference.
*/
branch: string;
/**
* Update mechanism.
*/
mechanism: string;
/**
* Script path.
*/
scriptPath: string;
/**
* Update automatically flag.
*/
updateAutomatically: boolean;
}
interface HostAuthentication {
/**
* Needed for validation.
*/
encryptedPassword: string;
/**
* Authentication method.
*/
method: string;
/**
* Password.
*/
password: string;
/**
* Username.
*/
username: string;
}
interface HostBackup {
/**
* Backup folder.
*/
folder: string;
/**
* Backup interval.
*/
interval: number;
/**
* Backup retention.
*/
retention: number;
}
interface HostLogging {
/**
* Enable analytics flag.
*/
analyticsEnabled: boolean;
/**
* Console log level.
*/
consoleLogLevel: string;
/**
* Log level.
*/
logLevel: string;
}
interface HostProxy {
/**
* Bypass filder.
*/
bypassFilter: string;
/**
* Bypass for local addresses flag.
*/
bypassLocalAddresses: boolean;
/**
* Enabled.
*/
enabled: boolean;
/**
* Proxy hostname.
*/
hostname: string;
/**
* Proxy password.
*/
password: string;
/**
* Proxy port.
*/
port: number;
/**
* Proxy type.
*/
type: string;
/**
* Proxy username.
*/
username: string;
}
interface HostSsl {
/**
* Certificate Password.
*/
certPassword: string;
/**
* Certificate path.
*/
certPath: string;
/**
* Certificate validation.
*/
certificateValidation: string;
/**
* Enabled.
*/
enabled: boolean;
/**
* SSL port.
*/
port: number;
}
interface HostUpdate {
/**
* Branch reference.
*/
branch: string;
/**
* Update mechanism.
*/
mechanism: string;
/**
* Script path.
*/
scriptPath: string;
/**
* Update automatically flag.
*/
updateAutomatically: boolean;
}
}
export declare namespace Tags {
interface GetTagsTag {
/**
* Tag ID.
*/
id: number;
/**
* Tag label.
*/
label: string;
}
}