mirror of
https://github.com/duplicati/duplicati.git
synced 2025-11-28 19:40:25 +08:00
89 lines
3.7 KiB
HTML
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>
|