duplicati/Duplicati/Server/webroot/ngax/templates/backends/s3.html
2025-09-04 14:24:20 +02:00

89 lines
3.7 KiB
HTML

<div ng-show="SupportsSSL" class="input checkbox">
<label for="s3_ssl" translate>Use SSL</label>
<input type="checkbox" style="width: 15px; margin-right: 65%;" name="s3_ssl" id="s3_ssl" ng-model="$parent.UseSSL"/>
</div>
<div class="input select">
<label for="s3_server" translate>Server</label>
<select name="s3_server" id="s3_server" ng-model="$parent.s3_server"
ng-options="v as k + ' (' + v + ')' for (k, v) in s3_providers | orderBy: k">
<option value="" translate translate-params-server="s3_server_custom || ''">Custom server url
</option>
</select>
<input ng-hide="contains_value(s3_providers, s3_server)" type="text" id="s3_server_custom"
ng-model="$parent.s3_server_custom" placeholder="{{'Custom S3 endpoint' | translate}}"/>
</div>
<div class="input text">
<label for="s3_bucket" translate>Bucket name</label>
<input type="text" id="s3_bucket" ng-model="$parent.Server" placeholder="{{'Bucket name' | translate}}"/>
</div>
<div class="input select">
<label for="s3_region" translate>Bucket region</label>
<select name="s3_region" id="s3_region" ng-model="$parent.s3_region"
ng-options="v as k + ' (' + v + ')' for (k, v) in s3_regions | orderBy: k"
title="{{'The region parameter is only applied when creating a new bucket' | translate}}">
<option value="" translate translate-params-region="s3_region_custom || ''">Custom region value
</option>
</select>
<input ng-hide="contains_value(s3_regions, s3_region)" type="text" id="s3_region_custom"
ng-model="$parent.s3_region_custom" placeholder="{{'Custom region for creating buckets' | translate}}"/>
</div>
<div class="input select">
<label for="s3_storageclass" translate>Storage class</label>
<select name="s3_storageclass" id="s3_storageclass" ng-model="$parent.s3_storageclass"
ng-options="v as k + ' (' + v + ')' for (k, v) in s3_storageclasses | orderBy: k"
title="{{'The storage class affects the availability and price for a stored file' | translate}}">
<option value="" translate translate-params-class="s3_storageclass_custom || ''">Custom storage class
</option>
</select>
<input ng-hide="contains_value(s3_storageclasses, s3_storageclass)" type="text" id="s3_storageclass_custom"
ng-model="$parent.s3_storageclass_custom" placeholder="{{'Custom bucket storage class' | translate}}"/>
</div>
<div class="input text">
<label for="s3_path" translate>Folder path</label>
<input type="text" name="s3_path" id="s3_path" ng-model="$parent.Path"
placeholder="{{'Path or subfolder in the bucket' | translate}}"/>
</div>
<div class="input text">
<label for="s3_username" translate>AWS Access ID</label>
<input type="text" name="s3_username" id="s3_username" ng-model="$parent.Username"
placeholder="{{'AWS Access ID' | translate}}"/>
</div>
<div class="input password">
<label for="s3_password" translate>AWS Access Key</label>
<input autocomplete="new-password" type="password" name="s3_password" id="s3_password" ng-model="$parent.Password"
placeholder="{{'AWS Access Key' | translate}}"/>
</div>
<div class="input select">
<label for="s3_client" translate>Client library to use</label>
<select name="s3_client" id="s3_client" ng-model="$parent.s3_client"
ng-options="item as item.label for item in s3_client_options track by item.name"
title="{{'Some S3 providers might only be compatible with a certain client library' | translate}}">
</select>
</div>
<div class="buttons">
<a href ng-click="s3_createIAMPolicy()" ng-show="$parent.s3_server == 's3.amazonaws.com'" translate>Generate IAM access policy</a>
</div>