@maienm/pulumi-readarr
Version:
A Pulumi package for creating and managing Readarr resources. Based on terraform-provider-readarr: version v2.1.0
176 lines • 10.7 kB
JavaScript
;
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.DownloadClient = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* <!-- subcategory:Download Clients -->Generic Download Client resource. When possible use a specific resource instead.
* For more information refer to [Download Client](https://wiki.servarr.com/readarr/settings#download-clients).
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as readarr from "@maienm/pulumi-readarr";
*
* const example = new readarr.downloadclients.DownloadClient("example", {
* configContract: "TransmissionSettings",
* enable: true,
* host: "transmission",
* implementation: "Transmission",
* port: 9091,
* priority: 1,
* protocol: "torrent",
* removeCompletedDownloads: false,
* removeFailedDownloads: false,
* urlBase: "/transmission/",
* });
* ```
*
* ## Import
*
* import using the API/UI ID
*
* ```sh
* $ pulumi import readarr:DownloadClients/downloadClient:DownloadClient example 1
* ```
*/
class DownloadClient extends pulumi.CustomResource {
/**
* Get an existing DownloadClient resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, state, opts) {
return new DownloadClient(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of DownloadClient. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === DownloadClient.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["addPaused"] = state ? state.addPaused : undefined;
resourceInputs["addStopped"] = state ? state.addStopped : undefined;
resourceInputs["additionalTags"] = state ? state.additionalTags : undefined;
resourceInputs["apiKey"] = state ? state.apiKey : undefined;
resourceInputs["bookCategory"] = state ? state.bookCategory : undefined;
resourceInputs["bookDirectory"] = state ? state.bookDirectory : undefined;
resourceInputs["bookImportedCategory"] = state ? state.bookImportedCategory : undefined;
resourceInputs["bookdirectory"] = state ? state.bookdirectory : undefined;
resourceInputs["category"] = state ? state.category : undefined;
resourceInputs["configContract"] = state ? state.configContract : undefined;
resourceInputs["destination"] = state ? state.destination : undefined;
resourceInputs["enable"] = state ? state.enable : undefined;
resourceInputs["fieldTags"] = state ? state.fieldTags : undefined;
resourceInputs["firstAndLast"] = state ? state.firstAndLast : undefined;
resourceInputs["host"] = state ? state.host : undefined;
resourceInputs["implementation"] = state ? state.implementation : undefined;
resourceInputs["initialState"] = state ? state.initialState : undefined;
resourceInputs["intialState"] = state ? state.intialState : undefined;
resourceInputs["magnetFileExtension"] = state ? state.magnetFileExtension : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["nzbFolder"] = state ? state.nzbFolder : undefined;
resourceInputs["olderBookPriority"] = state ? state.olderBookPriority : undefined;
resourceInputs["password"] = state ? state.password : undefined;
resourceInputs["port"] = state ? state.port : undefined;
resourceInputs["postImportTags"] = state ? state.postImportTags : undefined;
resourceInputs["priority"] = state ? state.priority : undefined;
resourceInputs["protocol"] = state ? state.protocol : undefined;
resourceInputs["readOnly"] = state ? state.readOnly : undefined;
resourceInputs["recentBookPriority"] = state ? state.recentBookPriority : undefined;
resourceInputs["removeCompletedDownloads"] = state ? state.removeCompletedDownloads : undefined;
resourceInputs["removeFailedDownloads"] = state ? state.removeFailedDownloads : undefined;
resourceInputs["rpcPath"] = state ? state.rpcPath : undefined;
resourceInputs["saveMagnetFiles"] = state ? state.saveMagnetFiles : undefined;
resourceInputs["secretToken"] = state ? state.secretToken : undefined;
resourceInputs["sequentialOrder"] = state ? state.sequentialOrder : undefined;
resourceInputs["startOnAdd"] = state ? state.startOnAdd : undefined;
resourceInputs["strmFolder"] = state ? state.strmFolder : undefined;
resourceInputs["tags"] = state ? state.tags : undefined;
resourceInputs["torrentFolder"] = state ? state.torrentFolder : undefined;
resourceInputs["urlBase"] = state ? state.urlBase : undefined;
resourceInputs["useSsl"] = state ? state.useSsl : undefined;
resourceInputs["username"] = state ? state.username : undefined;
resourceInputs["watchFolder"] = state ? state.watchFolder : undefined;
}
else {
const args = argsOrState;
if ((!args || args.configContract === undefined) && !opts.urn) {
throw new Error("Missing required property 'configContract'");
}
if ((!args || args.implementation === undefined) && !opts.urn) {
throw new Error("Missing required property 'implementation'");
}
if ((!args || args.protocol === undefined) && !opts.urn) {
throw new Error("Missing required property 'protocol'");
}
resourceInputs["addPaused"] = args ? args.addPaused : undefined;
resourceInputs["addStopped"] = args ? args.addStopped : undefined;
resourceInputs["additionalTags"] = args ? args.additionalTags : undefined;
resourceInputs["apiKey"] = args ? args.apiKey : undefined;
resourceInputs["bookCategory"] = args ? args.bookCategory : undefined;
resourceInputs["bookDirectory"] = args ? args.bookDirectory : undefined;
resourceInputs["bookImportedCategory"] = args ? args.bookImportedCategory : undefined;
resourceInputs["bookdirectory"] = args ? args.bookdirectory : undefined;
resourceInputs["category"] = args ? args.category : undefined;
resourceInputs["configContract"] = args ? args.configContract : undefined;
resourceInputs["destination"] = args ? args.destination : undefined;
resourceInputs["enable"] = args ? args.enable : undefined;
resourceInputs["fieldTags"] = args ? args.fieldTags : undefined;
resourceInputs["firstAndLast"] = args ? args.firstAndLast : undefined;
resourceInputs["host"] = args ? args.host : undefined;
resourceInputs["implementation"] = args ? args.implementation : undefined;
resourceInputs["initialState"] = args ? args.initialState : undefined;
resourceInputs["intialState"] = args ? args.intialState : undefined;
resourceInputs["magnetFileExtension"] = args ? args.magnetFileExtension : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["nzbFolder"] = args ? args.nzbFolder : undefined;
resourceInputs["olderBookPriority"] = args ? args.olderBookPriority : undefined;
resourceInputs["password"] = (args === null || args === void 0 ? void 0 : args.password) ? pulumi.secret(args.password) : undefined;
resourceInputs["port"] = args ? args.port : undefined;
resourceInputs["postImportTags"] = args ? args.postImportTags : undefined;
resourceInputs["priority"] = args ? args.priority : undefined;
resourceInputs["protocol"] = args ? args.protocol : undefined;
resourceInputs["readOnly"] = args ? args.readOnly : undefined;
resourceInputs["recentBookPriority"] = args ? args.recentBookPriority : undefined;
resourceInputs["removeCompletedDownloads"] = args ? args.removeCompletedDownloads : undefined;
resourceInputs["removeFailedDownloads"] = args ? args.removeFailedDownloads : undefined;
resourceInputs["rpcPath"] = args ? args.rpcPath : undefined;
resourceInputs["saveMagnetFiles"] = args ? args.saveMagnetFiles : undefined;
resourceInputs["secretToken"] = args ? args.secretToken : undefined;
resourceInputs["sequentialOrder"] = args ? args.sequentialOrder : undefined;
resourceInputs["startOnAdd"] = args ? args.startOnAdd : undefined;
resourceInputs["strmFolder"] = args ? args.strmFolder : undefined;
resourceInputs["tags"] = args ? args.tags : undefined;
resourceInputs["torrentFolder"] = args ? args.torrentFolder : undefined;
resourceInputs["urlBase"] = args ? args.urlBase : undefined;
resourceInputs["useSsl"] = args ? args.useSsl : undefined;
resourceInputs["username"] = args ? args.username : undefined;
resourceInputs["watchFolder"] = args ? args.watchFolder : undefined;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const secretOpts = { additionalSecretOutputs: ["password"] };
opts = pulumi.mergeOptions(opts, secretOpts);
super(DownloadClient.__pulumiType, name, resourceInputs, opts);
}
}
exports.DownloadClient = DownloadClient;
/** @internal */
DownloadClient.__pulumiType = 'readarr:DownloadClients/downloadClient:DownloadClient';
//# sourceMappingURL=downloadClient.js.map