diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json index 881a490f66b..dfdac5963bd 100644 --- a/ui/public/locales/en.json +++ b/ui/public/locales/en.json @@ -3482,6 +3482,7 @@ "message.success.change.bgp.peers": "Successfully changed BGP peers", "message.success.change.offering": "Successfully changed offering", "message.success.change.password": "Successfully changed password for User", +"message.success.change.host.password": "Successfully changed password for host \"{name}\"", "message.success.clear.webhook.deliveries": "Successfully cleared webhook deliveries", "message.success.change.scope": "Successfully changed scope for storage pool", "message.success.config.backup.schedule": "Successfully configured Instance backup schedule", diff --git a/ui/public/locales/pt_BR.json b/ui/public/locales/pt_BR.json index 2ce1e5ad980..65c657f69d8 100644 --- a/ui/public/locales/pt_BR.json +++ b/ui/public/locales/pt_BR.json @@ -2388,6 +2388,7 @@ "message.success.change.affinity.group": "Grupos de afinidade alterados com sucesso", "message.success.change.offering": "Oferta alterada com sucesso", "message.success.change.password": "Senha alterada com sucesso", +"message.success.change.host.password": "Senha do host \"{name}\" foi alterada com sucesso", "message.success.config.backup.schedule": "Agendamento de backup de VM configurado com sucesso", "message.success.config.sticky.policy": "Sticky policy configurada com sucesso", "message.success.copy.clipboard": "Copiado com sucesso para a \u00e1rea de transfer\u00eancia", diff --git a/ui/src/config/section/infra/hosts.js b/ui/src/config/section/infra/hosts.js index f1d0da42991..2373aff93f4 100644 --- a/ui/src/config/section/infra/hosts.js +++ b/ui/src/config/section/infra/hosts.js @@ -77,6 +77,14 @@ export default { popup: true, component: shallowRef(defineAsyncComponent(() => import('@/views/infra/HostUpdate'))) }, + { + api: 'updateHostPassword', + icon: 'key-outlined', + label: 'label.action.change.password', + dataView: true, + popup: true, + component: shallowRef(defineAsyncComponent(() => import('@/views/infra/ChangeHostPassword.vue'))) + }, { api: 'provisionCertificate', icon: 'safety-certificate-outlined', diff --git a/ui/src/views/infra/ChangeHostPassword.vue b/ui/src/views/infra/ChangeHostPassword.vue new file mode 100644 index 00000000000..d67b8413d8d --- /dev/null +++ b/ui/src/views/infra/ChangeHostPassword.vue @@ -0,0 +1,150 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + + + + + +