Skip to content

Commit

Permalink
feat: move download client config flags to clients
Browse files Browse the repository at this point in the history
  • Loading branch information
Fuochi committed Jul 17, 2023
1 parent 8a1e6bd commit e3c0f69
Show file tree
Hide file tree
Showing 48 changed files with 957 additions and 638 deletions.
2 changes: 2 additions & 0 deletions docs/data-sources/download_client.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ data "readarr_download_client" "test" {
- `protocol` (String) Protocol. Valid values are 'usenet' and 'torrent'.
- `read_only` (Boolean) Read only flag.
- `recent_book_priority` (Number) Recent Book priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `rpc_path` (String) RPC path.
- `save_magnet_files` (Boolean) Save magnet files flag.
- `secret_token` (String) Secret token.
Expand Down
2 changes: 0 additions & 2 deletions docs/data-sources/download_client_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,5 @@ data "readarr_download_client_config" "example" {
- `download_client_working_folders` (String) Download Client Working Folders.
- `enable_completed_download_handling` (Boolean) Enable Completed Download Handling flag.
- `id` (Number) Download Client Config ID.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.


2 changes: 2 additions & 0 deletions docs/data-sources/download_clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ Read-Only:
- `protocol` (String) Protocol. Valid values are 'usenet' and 'torrent'.
- `read_only` (Boolean) Read only flag.
- `recent_book_priority` (Number) Recent Book priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `rpc_path` (String) RPC path.
- `save_magnet_files` (Boolean) Save magnet files flag.
- `secret_token` (String) Secret token.
Expand Down
22 changes: 13 additions & 9 deletions docs/resources/download_client.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,17 @@ For more information refer to [Download Client](https://wiki.servarr.com/readarr

```terraform
resource "readarr_download_client" "example" {
enable = true
priority = 1
name = "Example"
implementation = "Transmission"
protocol = "torrent"
config_contract = "TransmissionSettings"
host = "transmission"
url_base = "/transmission/"
port = 9091
enable = true
remove_completed_downloads = false
remove_failed_downloads = false
priority = 1
name = "Example"
implementation = "Transmission"
protocol = "torrent"
config_contract = "TransmissionSettings"
host = "transmission"
url_base = "/transmission/"
port = 9091
}
```

Expand Down Expand Up @@ -65,6 +67,8 @@ resource "readarr_download_client" "example" {
- `priority` (Number) Priority.
- `read_only` (Boolean) Read only flag.
- `recent_book_priority` (Number) Recent Book priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `rpc_path` (String) RPC path.
- `save_magnet_files` (Boolean) Save magnet files flag.
- `secret_token` (String) Secret token.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_aria2.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ resource "readarr_download_client_aria2" "example" {
- `host` (String) host.
- `port` (Number) Port.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `rpc_path` (String) RPC path.
- `secret_token` (String) Secret token.
- `tags` (Set of Number) List of associated tags.
Expand Down
4 changes: 0 additions & 4 deletions docs/resources/download_client_config.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@ For more information refer to [Download Client](https://wiki.servarr.com/readarr

```terraform
resource "readarr_download_client_config" "example" {
remove_completed_downloads = false
remove_failed_downloads = false
enable_completed_download_handling = true
auto_redownload_failed = false
}
Expand All @@ -30,8 +28,6 @@ resource "readarr_download_client_config" "example" {

- `auto_redownload_failed` (Boolean) Auto Redownload Failed flag.
- `enable_completed_download_handling` (Boolean) Enable Completed Download Handling flag.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.

### Read-Only

Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_deluge.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ resource "readarr_download_client_deluge" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_flood.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ resource "readarr_download_client_flood" "example" {
- `port` (Number) Port.
- `post_import_tags` (Set of String) Post import tags.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_hadouken.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ resource "readarr_download_client_hadouken" "example" {
- `host` (String) host.
- `port` (Number) Port.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_nzbget.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ resource "readarr_download_client_nzbget" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `-100` VeryLow, `-50` Low, `0` Normal, `50` High, `100` VeryHigh, `900` Force.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_nzbvortex.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ resource "readarr_download_client_nzbvortex" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `-1` Low, `0` Normal, `1` High.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.

Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_pneumatic.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ resource "readarr_download_client_pneumatic" "example" {

- `enable` (Boolean) Enable flag.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.

### Read-Only
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_qbittorrent.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ resource "readarr_download_client_qbittorrent" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `sequential_order` (Boolean) Sequential order flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_rtorrent.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ resource "readarr_download_client_rtorrent" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `0` VeryLow, `1` Low, `2` Normal, `3` High.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_sabnzbd.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ resource "readarr_download_client_sabnzbd" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `-100` Default, `-2` Paused, `-1` Low, `0` Normal, `1` High, `2` Force.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_torrent_blackhole.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ resource "readarr_download_client_torrent_blackhole" "example" {
- `magnet_file_extension` (String) Magnet file extension.
- `priority` (Number) Priority.
- `read_only` (Boolean) Read only flag.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `save_magnet_files` (Boolean) Save magnet files flag.
- `tags` (Set of Number) List of associated tags.

Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_torrent_download_station.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ resource "readarr_download_client_torrent_download_station" "example" {
- `password` (String, Sensitive) Password.
- `port` (Number) Port.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `use_ssl` (Boolean) Use SSL flag.
- `username` (String) Username.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_transmission.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ resource "readarr_download_client_transmission" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent TV priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_usenet_blackhole.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ resource "readarr_download_client_usenet_blackhole" "example" {

- `enable` (Boolean) Enable flag.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.

### Read-Only
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_usenet_download_station.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ resource "readarr_download_client_usenet_download_station" "example" {
- `password` (String, Sensitive) Password.
- `port` (Number) Port.
- `priority` (Number) Priority.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `use_ssl` (Boolean) Use SSL flag.
- `username` (String) Username.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_utorrent.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ resource "readarr_download_client_utorrent" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
2 changes: 2 additions & 0 deletions docs/resources/download_client_vuze.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ resource "readarr_download_client_vuze" "example" {
- `port` (Number) Port.
- `priority` (Number) Priority.
- `recent_book_priority` (Number) Recent Music priority. `0` Last, `1` First.
- `remove_completed_downloads` (Boolean) Remove completed downloads flag.
- `remove_failed_downloads` (Boolean) Remove failed downloads flag.
- `tags` (Set of Number) List of associated tags.
- `url_base` (String) Base URL.
- `use_ssl` (Boolean) Use SSL flag.
Expand Down
20 changes: 11 additions & 9 deletions examples/resources/readarr_download_client/resource.tf
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
resource "readarr_download_client" "example" {
enable = true
priority = 1
name = "Example"
implementation = "Transmission"
protocol = "torrent"
config_contract = "TransmissionSettings"
host = "transmission"
url_base = "/transmission/"
port = 9091
enable = true
remove_completed_downloads = false
remove_failed_downloads = false
priority = 1
name = "Example"
implementation = "Transmission"
protocol = "torrent"
config_contract = "TransmissionSettings"
host = "transmission"
url_base = "/transmission/"
port = 9091
}
2 changes: 0 additions & 2 deletions examples/resources/readarr_download_client_config/resource.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
resource "readarr_download_client_config" "example" {
remove_completed_downloads = false
remove_failed_downloads = false
enable_completed_download_handling = true
auto_redownload_failed = false
}
62 changes: 39 additions & 23 deletions internal/provider/download_client_aria2_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,33 +40,37 @@ type DownloadClientAria2Resource struct {

// DownloadClientAria2 describes the download client data model.
type DownloadClientAria2 struct {
Tags types.Set `tfsdk:"tags"`
Name types.String `tfsdk:"name"`
Host types.String `tfsdk:"host"`
RPCPath types.String `tfsdk:"rpc_path"`
SecretToken types.String `tfsdk:"secret_token"`
Priority types.Int64 `tfsdk:"priority"`
Port types.Int64 `tfsdk:"port"`
ID types.Int64 `tfsdk:"id"`
UseSsl types.Bool `tfsdk:"use_ssl"`
Enable types.Bool `tfsdk:"enable"`
Tags types.Set `tfsdk:"tags"`
Name types.String `tfsdk:"name"`
Host types.String `tfsdk:"host"`
RPCPath types.String `tfsdk:"rpc_path"`
SecretToken types.String `tfsdk:"secret_token"`
Priority types.Int64 `tfsdk:"priority"`
Port types.Int64 `tfsdk:"port"`
ID types.Int64 `tfsdk:"id"`
UseSsl types.Bool `tfsdk:"use_ssl"`
Enable types.Bool `tfsdk:"enable"`
RemoveFailedDownloads types.Bool `tfsdk:"remove_failed_downloads"`
RemoveCompletedDownloads types.Bool `tfsdk:"remove_completed_downloads"`
}

func (d DownloadClientAria2) toDownloadClient() *DownloadClient {
return &DownloadClient{
Tags: d.Tags,
Name: d.Name,
Host: d.Host,
RPCPath: d.RPCPath,
SecretToken: d.SecretToken,
Priority: d.Priority,
Port: d.Port,
ID: d.ID,
UseSsl: d.UseSsl,
Enable: d.Enable,
Implementation: types.StringValue(downloadClientAria2Implementation),
ConfigContract: types.StringValue(downloadClientAria2ConfigContract),
Protocol: types.StringValue(downloadClientAria2Protocol),
Tags: d.Tags,
Name: d.Name,
Host: d.Host,
RPCPath: d.RPCPath,
SecretToken: d.SecretToken,
Priority: d.Priority,
Port: d.Port,
ID: d.ID,
UseSsl: d.UseSsl,
Enable: d.Enable,
RemoveFailedDownloads: d.RemoveFailedDownloads,
RemoveCompletedDownloads: d.RemoveCompletedDownloads,
Implementation: types.StringValue(downloadClientAria2Implementation),
ConfigContract: types.StringValue(downloadClientAria2ConfigContract),
Protocol: types.StringValue(downloadClientAria2Protocol),
}
}

Expand All @@ -81,6 +85,8 @@ func (d *DownloadClientAria2) fromDownloadClient(client *DownloadClient) {
d.ID = client.ID
d.UseSsl = client.UseSsl
d.Enable = client.Enable
d.RemoveFailedDownloads = client.RemoveFailedDownloads
d.RemoveCompletedDownloads = client.RemoveCompletedDownloads
}

func (r *DownloadClientAria2Resource) Metadata(ctx context.Context, req resource.MetadataRequest, resp *resource.MetadataResponse) {
Expand All @@ -96,6 +102,16 @@ func (r *DownloadClientAria2Resource) Schema(ctx context.Context, req resource.S
Optional: true,
Computed: true,
},
"remove_completed_downloads": schema.BoolAttribute{
MarkdownDescription: "Remove completed downloads flag.",
Optional: true,
Computed: true,
},
"remove_failed_downloads": schema.BoolAttribute{
MarkdownDescription: "Remove failed downloads flag.",
Optional: true,
Computed: true,
},
"priority": schema.Int64Attribute{
MarkdownDescription: "Priority.",
Optional: true,
Expand Down
8 changes: 0 additions & 8 deletions internal/provider/download_client_config_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,6 @@ func (d *DownloadClientConfigDataSource) Schema(ctx context.Context, req datasou
MarkdownDescription: "Auto Redownload Failed flag.",
Computed: true,
},
"remove_completed_downloads": schema.BoolAttribute{
MarkdownDescription: "Remove completed downloads flag.",
Computed: true,
},
"remove_failed_downloads": schema.BoolAttribute{
MarkdownDescription: "Remove failed downloads flag.",
Computed: true,
},
"download_client_working_folders": schema.StringAttribute{
MarkdownDescription: "Download Client Working Folders.",
Computed: true,
Expand Down
Loading

0 comments on commit e3c0f69

Please sign in to comment.