feat(gpu-service): clone an instance template into the caller's scope
Add a Clone action to instance template cards. It reuses the create flow prefilled from the source, dropping the source id and ownership so the backend assigns a fresh id and scopes the copy to the caller's own principal. Clone is offered on every visible template — including admin-curated Global rows a non-admin can otherwise only view — so users can fork a Global preset into their own organization without admin involvement. The prefilled name defaults to a `-clone` suffix (trimmed to the 63-char limit) so cloning within the same scope doesn't collide on the unique name. Edit/Delete remain gated on ownership; Clone is always available.
This commit is contained in:
@@ -2,6 +2,7 @@ export default {
|
||||
'gpuservice.template': 'GPU Instance Template',
|
||||
'gpuservice.template.add': 'Add Instance Template',
|
||||
'gpuservice.template.edit': 'Edit Instance Template',
|
||||
'gpuservice.template.clone': 'Clone Instance Template',
|
||||
'gpuservice.template.filter.name': 'Filter by name',
|
||||
'gpuservice.template.filter.vendor': 'Filter by vendor',
|
||||
'gpuservice.template.image': 'Image',
|
||||
|
||||
@@ -2,6 +2,7 @@ export default {
|
||||
'gpuservice.template': 'GPU インスタンステンプレート',
|
||||
'gpuservice.template.add': 'インスタンステンプレートを追加',
|
||||
'gpuservice.template.edit': 'インスタンステンプレートを編集',
|
||||
'gpuservice.template.clone': 'インスタンステンプレートを複製',
|
||||
'gpuservice.template.filter.name': '名前でフィルター',
|
||||
'gpuservice.template.filter.vendor': 'ベンダーでフィルター',
|
||||
'gpuservice.template.image': 'コンテナイメージ',
|
||||
|
||||
@@ -2,6 +2,7 @@ export default {
|
||||
'gpuservice.template': 'Шаблон экземпляра GPU',
|
||||
'gpuservice.template.add': 'Добавить шаблон экземпляра',
|
||||
'gpuservice.template.edit': 'Редактировать шаблон экземпляра',
|
||||
'gpuservice.template.clone': 'Клонировать шаблон экземпляра',
|
||||
'gpuservice.template.filter.name': 'Фильтр по имени',
|
||||
'gpuservice.template.filter.vendor': 'Фильтр по производителю',
|
||||
'gpuservice.template.image': 'Образ',
|
||||
|
||||
@@ -2,6 +2,7 @@ export default {
|
||||
'gpuservice.template': 'GPU Örnek Şablonu',
|
||||
'gpuservice.template.add': 'Örnek Şablonu Ekle',
|
||||
'gpuservice.template.edit': 'Örnek Şablonunu Düzenle',
|
||||
'gpuservice.template.clone': 'Örnek Şablonunu Klonla',
|
||||
'gpuservice.template.filter.name': 'Ada göre filtrele',
|
||||
'gpuservice.template.filter.vendor': 'Tedarikçiye göre filtrele',
|
||||
'gpuservice.template.image': 'İmaj',
|
||||
|
||||
@@ -2,6 +2,7 @@ export default {
|
||||
'gpuservice.template': 'GPU 实例模板',
|
||||
'gpuservice.template.add': '添加实例模板',
|
||||
'gpuservice.template.edit': '编辑实例模板',
|
||||
'gpuservice.template.clone': '克隆实例模板',
|
||||
'gpuservice.template.filter.name': '按名称过滤',
|
||||
'gpuservice.template.filter.vendor': '按厂商过滤',
|
||||
'gpuservice.template.image': '镜像',
|
||||
|
||||
Reference in New Issue
Block a user