types = new HashSet<>();
+ types.add(DataStoreProviderType.OBJECT);
+ return types;
+ }
+}
diff --git a/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/module.properties b/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/module.properties
new file mode 100644
index 000000000000..46e642a9ec1b
--- /dev/null
+++ b/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/module.properties
@@ -0,0 +1,18 @@
+# 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.
+name=storage-object-ecs
+parent=storage
diff --git a/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/spring-storage-object-ecs-context.xml b/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/spring-storage-object-ecs-context.xml
new file mode 100644
index 000000000000..e7345e43455b
--- /dev/null
+++ b/plugins/storage/object/ECS/src/main/resources/META-INF/cloudstack/storage-object-ecs/spring-storage-object-ecs-context.xml
@@ -0,0 +1,31 @@
+
+
+
+
diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json
index 4a23b454252a..82d24ad92edf 100644
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@ -19,7 +19,6 @@
"error.release.dedicate.pod": "Failed to release dedicated Pod.",
"error.release.dedicate.zone": "Failed to release dedicated Zone.",
"error.unable.to.add.setting.extraconfig": "It is not allowed to add setting for extraconfig. Please update VirtualMachine with extraconfig parameter.",
-"error.unable.to.add.setting": "Unable to add or edit setting",
"error.unable.to.proceed": "Unable to proceed. Please contact your administrator.",
"firewall.close": "Firewall",
"icmp.code.desc": "Please specify -1 if you want to allow all ICMP codes (except NSX zones).",
@@ -43,14 +42,11 @@
"label.accounts": "Accounts",
"label.accountstate": "Account state",
"label.accounttype": "Account type",
-"label.import": "Import",
-"label.acl.import": "Import rules",
-"label.acl.export": "Export rules",
+"label.acl.export": "Export ACL rules",
"label.acl.id": "ACL ID",
"label.acl.rules": "ACL rules",
"label.acl.reason.description": "Enter the reason behind an ACL rule.",
"label.aclid": "ACL",
-"label.aclname": "ACL name",
"label.acl.rule.name": "ACL rule name",
"label.acquire.new.ip": "Acquire new IP",
"label.acquire.new.secondary.ip": "Acquire new secondary IP",
@@ -75,7 +71,7 @@
"label.action.cancel.maintenance.mode": "Cancel maintenance mode",
"label.action.change.password": "Change password",
"label.action.clear.webhook.deliveries": "Clear deliveries",
-"label.action.clear.webhook.filters": "Clear filters",
+"label.action.delete.webhook.deliveries": "Delete deliveries",
"label.action.change.primary.storage.scope": "Change Primary Storage scope",
"label.action.configure.stickiness": "Stickiness",
"label.action.configure.storage.access.group": "Update storage access group",
@@ -119,8 +115,6 @@
"label.action.delete.user": "Delete User",
"label.action.delete.vgpu.profile": "Delete vGPU profile",
"label.action.delete.volume": "Delete Volume",
-"label.action.delete.webhook.deliveries": "Delete Deliveries",
-"label.action.delete.webhook.filters": "Delete Filters",
"label.action.delete.zone": "Delete Zone",
"label.action.destroy.instance": "Destroy Instance",
"label.action.destroy.systemvm": "Destroy System VM",
@@ -256,9 +250,8 @@
"label.activate.project": "Activate project",
"label.activeviewersessions": "Active sessions",
"label.add": "Add",
-"label.addservices": "Add Services",
"label.add.account": "Add Account",
-"label.add.acl.rule": "Add rule",
+"label.add.acl.rule": "Add ACL rule",
"label.add.acl": "Add ACL",
"label.add.affinity.group": "Add new Affinity Group",
"label.add.backup.schedule": "Add Backup Schedule",
@@ -296,10 +289,8 @@
"label.add.isolated.network": "Add Isolated Network",
"label.add.kubernetes.cluster": "Add Kubernetes Cluster",
"label.add.acl.name": "ACL name",
-"label.add.latest.kubernetes.iso": "Add latest Kubernetes ISO",
"label.add.ldap.account": "Add LDAP Account",
"label.add.logical.router": "Add Logical Router to this Network",
-"label.add.minimum.required.compute.offering": "Add minimum required Compute Offering",
"label.add.more": "Add more",
"label.add.nodes": "Add Nodes to Kubernetes Cluster",
"label.add.netscaler.device": "Add Netscaler Device",
@@ -364,7 +355,6 @@
"label.add.vpn.customer.gateway": "Add VPN Customer Gateway",
"label.add.vpn.gateway": "Add VPN Gateway",
"label.add.vpn.user": "Add VPN User",
-"label.add.webhook.filter": "Add Webhook Filter",
"label.add.zone": "Add Zone",
"label.adding": "Adding",
"label.adding.user": "Adding User...",
@@ -413,7 +403,6 @@
"label.app.name": "CloudStack",
"label.application.policy.set": "Application Policy Set",
"label.apply": "Apply",
-"label.apply.to.all": "Apply to all",
"label.apply.tungsten.firewall.policy": "Apply Firewall Policy",
"label.apply.tungsten.network.policy": "Apply Network Policy",
"label.apply.tungsten.tag": "Apply tag",
@@ -446,8 +435,6 @@
"label.auto.assign": "Automatically assign",
"label.auto.assign.diskoffering.disk.size": "Automatically assign offering matching the disk size",
"label.auto.assign.random.ip": "Automatically assign a random IP address",
-"label.auto.refresh.statistics": "Period between auto refreshes",
-"label.auto.refresh.statistics.none": "None",
"label.automigrate.volume": "Auto migrate volume to another storage pool if required",
"label.autoscale.vm.groups": "AutoScaling Groups",
"label.autoscale.vm.profile": "AutoScale Instance Profile",
@@ -540,14 +527,11 @@
"label.change.ipaddress": "Change IP address for NIC",
"label.change.disk.offering": "Change disk offering",
"label.change.offering.for.volume": "Change disk offering for the volume",
-"label.change.password.onlogin": "User must change password at next login",
-"label.change.password.reset": "Force password reset",
"label.change.service.offering": "Change service offering",
"label.character": "Character",
"label.checksum": "Checksum",
"label.choose.resource.icon": "Choose icon",
"label.choose.saml.identity": "Choose SAML identity provider",
-"label.choose.isolation.method.public.ip.range": "Choose the proper isolation method for the public IP range in accordance with the zone. Valid options currently 'vlan' or 'vxlan', defaults to 'vlan'.",
"label.cidr": "CIDR",
"label.cidrsize": "CIDR size",
"label.cidr.destination.network": "Destination Network CIDR",
@@ -567,21 +551,12 @@
"label.cks.cluster.size": "Cluster size (Worker nodes)",
"label.cks.cluster.worker.nodes.offeringid": "Service Offering for Worker Nodes",
"label.cks.cluster.worker.nodes.templateid": "Template for Worker Nodes",
-"label.cks.cluster.control.nodes.affinitygroupid": "Affinity Groups for Control Nodes",
-"label.cks.cluster.worker.nodes.affinitygroupid": "Affinity Groups for Worker Nodes",
-"label.cks.cluster.etcd.nodes.affinitygroupid": "Affinity Groups for ETCD Nodes",
"label.cleanup": "Clean up",
"label.clear": "Clear",
"label.clear.all": "Clear all",
"label.clear.list": "Clear list",
"label.clear.notification": "Clear notification",
"label.clientid": "Provider Client ID",
-"label.clone.backup.offering": "Clone Backup Offering",
-"label.clone.compute.offering": "Clone Compute Offering",
-"label.clone.disk.offering": "Clone Disk Offering",
-"label.clone.network.offering": "Clone Network Offering",
-"label.clone.system.service.offering": "Clone System Service Offering",
-"label.clone.vpc.offering": "Clone VPC Offering",
"label.close": "Close",
"label.cloud.managed": "CloudManaged",
"label.cloudian.admin.password": "Admin Service Password",
@@ -657,7 +632,6 @@
"label.consoleproxy": "Console proxy",
"label.console.proxy": "Console proxy",
"label.console.proxy.vm": "Console proxy VM",
-"label.contains": "Contains",
"label.continue": "Continue",
"label.continue.install": "Continue with installation",
"label.controlnodes": "Control nodes",
@@ -668,8 +642,6 @@
"label.copy.consoleurl": "Copy console URL to clipboard",
"label.copyid": "Copy ID",
"label.copy.password": "Copy password",
-"label.copy.templates.from.other.secondary.storages": "Copy Templates from other storages instead of fetching from URLs",
-"label.copy.templates.from.other.secondary.storages.add.zone": "Copy Templates from other storages",
"label.core": "Core",
"label.core.zone.type": "Core Zone type",
"label.count": "Count",
@@ -699,7 +671,6 @@
"label.create.sharedfs": "Create Shared FileSystem",
"label.create.network": "Create new Network",
"label.create.nfs.secondary.staging.storage": "Create NFS secondary staging storage",
-"label.create.on.storage": "Create on Storage",
"label.create.project": "Create Project",
"label.create.project.role": "Create Project Role",
"label.create.routing.policy": "Create Routing Policy",
@@ -716,7 +687,6 @@
"label.create.tier.networkofferingid.description": "The Network offering for the Network Tier.",
"label.create.tungsten.routing.policy": "Create Tungsten-Fabric routing policy",
"label.create.user": "Create User",
-"label.create.volume.on.primary.storage": "Create Volume on the specified Primary Storage",
"label.create.vm": "Create Instance",
"label.create.vm.and.stay": "Create Instance & stay on this page",
"label.create.vpn.connection": "Create VPN connection",
@@ -729,7 +699,6 @@
"label.cron.mode": "Cron mode",
"label.crosszones": "Cross Zones",
"label.csienabled": "CSI Enabled",
-"label.csv.preview": "Data preview",
"label.currency": "Currency",
"label.current": "Current",
"label.currentstep": "Current step",
@@ -832,12 +801,11 @@
"label.delete.tungsten.service.group": "Delete Service Group",
"label.delete.volumes": "Data volumes to be deleted",
"label.delete.vpn.connection": "Delete VPN connection",
-"label.delete.vpn.customer.gateway": "Delete VPN Customer Gateway",
+"label.delete.vpn.customer.gateway": "Delete VPN customer gateway",
"label.delete.vpn.gateway": "Delete VPN gateway",
"label.delete.vpn.user": "Delete VPN User",
"label.delete.webhook": "Delete Webhook",
"label.delete.webhook.delivery": "Delete Webhook Delivery",
-"label.delete.webhook.filter": "Delete Webhook Filter",
"label.deleteconfirm": "Please confirm that you would like to delete this",
"label.deleting": "Deleting",
"label.deleting.failed": "Deleting failed",
@@ -959,7 +927,6 @@
"label.domains": "Domains",
"label.done": "Done",
"label.down": "Down",
-"label.dropservices": "Drop Services",
"label.download": "Download",
"label.download.csv": "Download CSV",
"label.download.kubeconfig.cluster": "Download kubeconfig for the cluster
The kubectl command-line tool uses kubeconfig files to find the information it needs to choose a cluster and communicate with the API server of a cluster.",
@@ -995,7 +962,6 @@
"label.edit.acl": "Edit ACL",
"label.edit.acl.rule": "Edit ACL rule",
"label.edit.autoscale.vmprofile": "Edit AutoScale Instance Profile",
-"label.edit.nic": "Edit NIC",
"label.edit.project.details": "Edit project details",
"label.edit.project.role": "Edit project role",
"label.edit.role": "Edit Role",
@@ -1040,7 +1006,6 @@
"label.endpoint": "Endpoint",
"label.endport": "End port",
"label.enter.account.name": "Enter the account name",
-"label.enter.domain.name": "Enter the domain name",
"label.enter.code": "Enter 2FA code to verify",
"label.enter.static.pin": "Enter static PIN to verify",
"label.enter.token": "Enter token",
@@ -1070,10 +1035,8 @@
"label.event.timeline": "Event timeline",
"label.events": "Events",
"label.every": "Every",
-"label.exact": "Exact",
"label.example": "Example",
"label.example.plugin": "ExamplePlugin",
-"label.exclude": "Exclude",
"label.existing": "Existing",
"label.execute": "Execute",
"label.expunge": "Expunge",
@@ -1112,7 +1075,6 @@
"label.shared.filesystems": "Shared FileSystems",
"label.filesystem": "Filesystem",
"label.filter": "Filter",
-"label.filters": "Filters",
"label.filter.annotations.all": "All comments",
"label.filter.annotations.self": "Created by me",
"label.filterby": "Filter by",
@@ -1127,7 +1089,6 @@
"label.firstname": "First name",
"label.firstname.lower": "firstname",
"label.fix.errors": "Fix errors",
-"label.fix.global.setting": "Fix Global Setting",
"label.fixed": "Fixed Offering",
"label.for": "for",
"label.forcks": "For CKS",
@@ -1161,9 +1122,6 @@
"label.globo.dns.configuration": "GloboDNS configuration",
"label.glustervolume": "Volume",
"label.go.back": "Go back",
-"label.go.to.compute.offerings": "Go to Compute Offerings",
-"label.go.to.global.settings": "Go to Global Settings",
-"label.go.to.kubernetes.isos": "Go to Kubernetes ISOs",
"label.gpu": "GPU",
"label.gpucardid": "GPU Card",
"label.gpucardname": "GPU Card",
@@ -1245,8 +1203,6 @@
"label.host.alerts": "Hosts in alert state",
"label.host.name": "Host name",
"label.host.ovftool.version": "OVFTool Version",
-"label.host.vddk.support": "VDDK Support",
-"label.host.vddk.version": "VDDK Version",
"label.host.tag": "Host tag",
"label.host.virtv2v.version": "Virt-v2v Version",
"label.hostcontrolstate": "Compute Resource Status",
@@ -1297,7 +1253,6 @@
"label.import.volume": "Import Volume",
"label.inactive": "Inactive",
"label.inbuilt": "Inbuilt",
-"label.include": "Include",
"label.in.progress": "in progress",
"label.in.progress.for": "in progress for",
"label.info": "Info",
@@ -1416,7 +1371,6 @@
"label.isoname": "Attached ISO",
"label.isos": "ISOs",
"label.isostate": "ISO state",
-"label.isourl": "ISO URL",
"label.ispersistent": "Persistent ",
"label.ispublic": "Public",
"label.isready": "Ready",
@@ -1497,7 +1451,6 @@
"label.lbruleid": "Load balancer ID",
"label.lbtype": "Load balancer type",
"label.ldap": "LDAP",
-"label.ldapdomain": "LDAP Domain",
"label.ldap.configuration": "LDAP Configuration",
"label.ldap.group.name": "LDAP Group",
"label.level": "Level",
@@ -1565,7 +1518,6 @@
"label.management.server.peers": "Peers",
"label.managementservers": "Number of management servers",
"label.matchall": "Match all",
-"label.matchtype": "Match Type",
"label.max": "Max.",
"label.max.primary.storage": "Max. primary (GiB)",
"label.max.secondary.storage": "Max. secondary (GiB)",
@@ -1762,7 +1714,6 @@
"label.no.data": "No data to show",
"label.no.errors": "No recent errors",
"label.no.items": "No available Items",
-"label.no.matching.guest.os.vmware.import": "No matching guest OS mapping found, using the default import template guest OS",
"label.no.matching.offering": "No matching offering found",
"label.no.matching.network": "No matching Networks found",
"label.node.version": "Node version",
@@ -2097,7 +2048,6 @@
"label.release.dedicated.pod": "Release dedicated Pod",
"label.release.dedicated.zone": "Release dedicated Zone",
"label.releasing.ip": "Releasing IP",
-"label.remote.access.vpn.specify.iprange": "Specify IP Range of remote VPN",
"label.remote.instances": "Remote Instances",
"label.remove": "Remove",
"label.remove.annotation": "Remove comment",
@@ -2137,7 +2087,6 @@
"label.requireshvm": "HVM",
"label.requiresupgrade": "Requires upgrade",
"label.reserved": "Reserved",
-"label.reservedresourcedetails": "Reserved resource details",
"label.reserved.system.gateway": "Reserved system gateway",
"label.reserved.system.ip": "Reserved system IP",
"label.reserved.system.netmask": "Reserved system netmask",
@@ -2409,7 +2358,6 @@
"label.user.data.policy.tooltip": "User Data linked to the Template can be overridden by User Data provided during Instance deploy. Select the override policy as required.",
"label.user.data": "User Data",
"label.user.data.library": "User Data Library",
-"label.use.vddk": "Use VDDK",
"label.ssh.port": "SSH port",
"label.sshkeypair": "New SSH key pair",
"label.sshkeypairs": "SSH key pairs",
@@ -2475,7 +2423,6 @@
"label.storagepool.tooltip": "Destination Storage Pool. Volume should be located in this Storage Pool",
"label.storagetags": "Storage tags",
"label.storagetype": "Storage type",
-"label.storageip": "Storage IP address",
"label.strict": "Strict",
"label.subdomainaccess": "Subdomain access",
"label.submit": "Submit",
@@ -2486,7 +2433,6 @@
"label.success.migrations": "Successful migrations",
"label.success.set": "Successfully set",
"label.success.updated": "Successfully updated",
-"label.suffix": "Suffix",
"label.suitability": "Suitability",
"label.suitable": "Suitable",
"label.summary": "Summary",
@@ -2639,7 +2585,6 @@
"label.undefined": "Undefined",
"label.unit": "Usage unit",
"label.unknown": "Unknown",
-"label.unlink.domain.from.ldap": "Unlink the Domain from LDAP",
"label.unlimited": "Unlimited",
"label.unmanaged": "Unmanaged",
"label.unmanage.instance": "Unmanage Instance",
@@ -2668,7 +2613,6 @@
"label.update.to": "updated to",
"label.update.traffic.label": "Update traffic labels",
"label.update.vmware.datacenter": "Update VMWare datacenter",
-"label.update.vpn.customer.gateway": "Update VPN Customer Gateway",
"label.update.webhook": "Update Webhook",
"label.updating": "Updating",
"label.upgrade.router.newer.template": "Upgrade router to use newer Template",
@@ -2804,8 +2748,8 @@
"label.vnf.app.action.reinstall": "Reinstall VNF Appliance",
"label.vnf.cidr.list": "CIDR from which access to the VNF appliance's Management interface should be allowed from",
"label.vnf.cidr.list.tooltip": "the CIDR list to forward traffic from to the VNF management interface. Multiple entries must be separated by a single comma character (,). The default value is 0.0.0.0/0.",
-"label.vnf.configure.management": "Configure network rules for VNF's management interfaces",
-"label.vnf.configure.management.tooltip": "False by default, security group or network rules (source nat and firewall rules) will be configured for VNF management interfaces. True otherwise. Learn what rules are configured at http://docs.cloudstack.apache.org/en/latest/adminguide/networking/vnf_templates_appliances.html#deploying-vnf-appliances",
+"label.vnf.configure.management": "Configure Firewall and Port Forwarding rules for VNF's management interfaces",
+"label.vnf.configure.management.tooltip": "True by default, security group or network rules (source nat and firewall rules) will be configured for VNF management interfaces. False otherwise. Learn what rules are configured at http://docs.cloudstack.apache.org/en/latest/adminguide/networking/vnf_templates_appliances.html#deploying-vnf-appliances",
"label.vnf.detail.add": "Add VNF detail",
"label.vnf.detail.remove": "Remove VNF detail",
"label.vnf.details": "VNF Details",
@@ -2919,14 +2863,26 @@
"label.oobm.username": "Out-of-band management username",
"label.bucket.update": "Update Bucket",
"label.bucket.delete": "Delete Bucket",
+"label.ecs.public.url": "ECS Public URL",
+"label.ecs.public.url.tooltip": "The S3-compatible endpoint URL that clients use to connect to ECS",
+"label.ecs.api.url": "ECS API URL",
+"label.ecs.api.url.tooltip": "ECS management API URL",
+"label.ecs.private.url": "ECS Private URL",
+"label.ecs.private.url.tooltip": "The internal S3 endpoint URL used by CloudStack to communicate with ECS. May be the same as the Public URL.",
+"label.ecs.sa.user": "ECS service account user",
+"label.ecs.sa.user.tooltip": "Service account user, e.g. cloudstack",
+"label.ecs.sa.password": "ECS service account password",
+"label.ecs.sa.password.tooltip": "Service account password (sa_password)",
+"label.ecs.namespace": "Namespace",
+"label.ecs.namespace.tooltip": "ECS namespace (namespace), e.g. cloudstack",
+"label.ecs.insecure": "Allow insecure HTTPS (set insecure=true)",
+"label.ecs.user.prefix": "User prefix",
+"label.ecs.user.prefix.tooltip": "Prefix used for ECS user creation. Default is cs- (user_prefix). Example: cs-",
"label.quotagib": "Quota in GiB",
"label.quotagb": "Quota in GB",
"label.edgecluster": "Edge Cluster",
"label.encryption": "Encryption",
"label.etcdnodes": "Number of etcd nodes",
-"label.controlaffinitygroupnames": "Control Affinity Groups",
-"label.workeraffinitygroupnames": "Worker Affinity Groups",
-"label.etcdaffinitygroupnames": "ETCD Affinity Groups",
"label.versioning": "Versioning",
"label.objectlocking": "Object Lock",
"label.bucket.policy": "Bucket Policy",
@@ -2954,8 +2910,6 @@
"message.action.create.snapshot.from.vmsnapshot": "Please confirm that you want to create Snapshot from Instance Snapshot",
"message.action.create.instance.from.backup": "Please confirm that you want to create a new Instance from the given Backup.
Click on configure to edit the parameters for the new Instance before creation.",
"message.create.instance.from.backup.different.zone": "Creating Instance from Backup on a different Zone. Please ensure that the backup repository is accessible in the selected Zone.",
-"message.csv.empty": "Empty CSV File",
-"message.csv.missing.headers": "Columns are missing from headers in CSV",
"message.template.ostype.different.from.backup": "Selected Template has a different OS type than the Backup. Please proceed with caution.",
"message.iso.ostype.different.from.backup": "Selected ISO has a different OS type than the Backup. Please proceed with caution.",
"message.action.delete.asnrange": "Please confirm the AS range that you want to delete",
@@ -3097,17 +3051,12 @@
"message.add.ip.v6.firewall.rule.failed": "Failed to add IPv6 firewall rule",
"message.add.ip.v6.firewall.rule.processing": "Adding IPv6 firewall rule...",
"message.add.ip.v6.firewall.rule.success": "Added IPv6 firewall rule",
-"message.advisory.cks.endpoint.url.not.configured": "Endpoint URL which will be used by Kubernetes clusters is not configured correctly",
-"message.advisory.cks.min.offering": "No suitable Compute Offering found for Kubernetes cluster nodes with minimum required resources (2 vCPU, 2 GB RAM)",
-"message.advisory.cks.version.check": "No Kubernetes version found that can be used to deploy a Kubernetes cluster",
"message.redeliver.webhook.delivery": "Redeliver this Webhook delivery",
"message.remove.ip.v6.firewall.rule.failed": "Failed to remove IPv6 firewall rule",
"message.remove.ip.v6.firewall.rule.processing": "Removing IPv6 firewall rule...",
"message.remove.ip.v6.firewall.rule.success": "Removed IPv6 firewall rule",
"message.remove.sslcert.failed": "Failed to remove SSL certificate from load balancer",
"message.remove.sslcert.processing": "Removing SSL certificate from load balancer...",
-"message.add.latest.kubernetes.iso.failed": "Failed to add latest Kubernetes ISO",
-"message.add.minimum.required.compute.offering.kubernetes.cluster.failed": "Failed to add minimum required Compute Offering for Kubernetes cluster nodes",
"message.add.netris.controller": "Add Netris Provider",
"message.add.nsx.controller": "Add NSX Provider",
"message.add.network": "Add a new network for Zone: ",
@@ -3143,18 +3092,14 @@
"message.add.volume": "Please fill in the following data to add a new volume.",
"message.add.vpn.connection.failed": "Adding VPN connection failed",
"message.add.vpn.connection.processing": "Adding VPN Connection...",
-"message.add.vpn.customer.gateway": "Adding VPN Customer Gateway",
-"message.add.vpn.customer.gateway.processing": "Creation of VPN Customer Gateway is in progress",
+"message.add.vpn.customer.gateway": "Adding VPN customer gateway",
+"message.add.vpn.customer.gateway.processing": "Creation of VPN customer gateway is in progress",
"message.add.vpn.gateway": "Please confirm that you want to add a VPN Gateway.",
"message.add.vpn.gateway.failed": "Adding VPN gateway failed",
"message.add.vpn.gateway.processing": "Adding VPN gateway...",
-"message.added.latest.kubernetes.iso": "Latest Kubernetes ISO added successfully",
-"message.added.minimum.required.compute.offering.kubernetes.cluster": "Minimum required Compute Offering for Kubernetes cluster nodes added successfully",
"message.added.vpc.offering": "Added VPC offering",
"message.adding.firewall.policy": "Adding Firewall Policy",
"message.adding.host": "Adding host",
-"message.adding.latest.kubernetes.iso": "Adding latest Kubernetes ISO",
-"message.adding.minimum.required.compute.offering.kubernetes.cluster": "Adding minimum required Compute Offering for Kubernetes cluster nodes",
"message.adding.netscaler.device": "Adding Netscaler device",
"message.adding.netscaler.provider": "Adding Netscaler provider",
"message.adding.nodes.to.cluster": "Adding nodes to Kubernetes cluster",
@@ -3191,10 +3136,8 @@
"message.change.offering.confirm": "Please confirm that you wish to change the service offering of this virtual Instance.",
"message.change.offering.for.volume": "Successfully changed offering for the volume",
"message.change.offering.for.volume.failed": "Change offering for the volume failed",
-"message.change.offering.for.volume.processing": "Changing offering for the volume...",
+"message.change.offering.processing": "Changing offering for the volume...",
"message.change.password": "Please change your password.",
-"message.change.password.required": "You are required to change your password.",
-"message.change.password.reset": "Force password reset on next login.",
"message.change.scope.failed": "Scope change failed",
"message.change.scope.processing": "Scope change in progress",
"message.change.service.offering.sharedfs.failed": "Failed to change service offering for the Shared FileSystem.",
@@ -3283,10 +3226,6 @@
"message.create.bucket.failed": "Failed to create bucket.",
"message.create.bucket.processing": "Bucket creation in progress",
"message.create.compute.offering": "Compute Offering created",
-"message.clone.compute.offering": "Compute Offering cloned",
-"message.clone.service.offering": "Service Offering cloned",
-"message.clone.offering.from": "Cloning from",
-"message.clone.offering.edit.hint": "All values are pre-filled from the source offering. Edit any field to customize the new offering.",
"message.create.sharedfs.failed": "Failed to create Shared FileSystem.",
"message.create.sharedfs.processing": "Shared FileSystem creation in progress.",
"message.create.tungsten.public.network": "Create Tungsten-Fabric public Network",
@@ -3302,7 +3241,7 @@
"message.create.volume.failed": "Failed to create Volume.",
"message.create.volume.processing": "Volume creation in progress",
"message.create.vpc.offering": "VPC offering created.",
-"message.create.vpn.customer.gateway.failed": "VPN Customer Gateway creation failed.",
+"message.create.vpn.customer.gateway.failed": "VPN customer gateway creation failed.",
"message.creating.autoscale.vmgroup": "Creating AutoScaling Group",
"message.creating.autoscale.vmprofile": "Creating AutoScale Instance profile",
"message.creating.autoscale.scaledown.conditions": "Creating ScaleDown conditions",
@@ -3331,9 +3270,6 @@
"message.delete.account.processing": "Deleting account",
"message.delete.account.success": "Successfully deleted account",
"message.delete.account.warning": "Deleting this account will delete all of the instances, volumes and snapshots associated with the account.",
-"message.delete.domain.confirm": "Please confirm that you want to delete this domain by entering the name of the domain below.",
-"message.delete.domain.warning": "All associated accounts, users, VMs, and sub-domains will be permanently deleted. This action cannot be undone.",
-"message.delete.domain.failed": "Delete domain failed",
"message.delete.acl.processing": "Removing ACL rule...",
"message.delete.acl.rule": "Remove ACL rule",
"message.delete.acl.rule.failed": "Failed to remove ACL rule.",
@@ -3356,12 +3292,11 @@
"message.delete.tungsten.tag": "Are you sure you want to remove this Tag from this Policy?",
"message.delete.user": "Please confirm that you would like to delete this User.",
"message.delete.vpn.connection": "Please confirm that you want to delete VPN connection.",
-"message.delete.vpn.customer.gateway": "Please confirm that you want to delete this VPN Customer Gateway.",
+"message.delete.vpn.customer.gateway": "Please confirm that you want to delete this VPN customer gateway.",
"message.delete.vpn.gateway": "Please confirm that you want to delete this VPN Gateway.",
"message.delete.vpn.gateway.failed": "Failed to delete VPN Gateway.",
"message.delete.webhook": "Please confirm that you want to delete this Webhook.",
"message.delete.webhook.delivery": "Please confirm that you want to delete this Webhook delivery.",
-"message.delete.webhook.filter": "Please confirm that you want to delete this Webhook filter.",
"message.deleting.firewall.policy": "Deleting Firewall Policy",
"message.deleting.node": "Deleting Node",
"message.deleting.vm": "Deleting Instance",
@@ -3388,7 +3323,7 @@
"message.desc.register.user.data": "Please fill in the following to register new User Data.",
"message.desc.registered.user.data": "Registered a User Data.",
"message.desc.reset.ssh.key.pair": "Please specify a ssh key pair that you would like to add to this Instance.",
-"message.desc.secondary.storage": "Each Zone must have at least one NFS or secondary storage server. We will add the first one now. Secondary storage stores Instance Templates, ISO images, and Instance disk volume Snapshots. This server must be available to all hosts in the zone.
Provide the IP address and exported path.
\"Copy templates from other secondary storages\" switch can be used to automatically copy existing templates from secondary storages in other zones instead of fetching from their URLs.",
+"message.desc.secondary.storage": "Each Zone must have at least one NFS or secondary storage server. We will add the first one now. Secondary storage stores Instance Templates, ISO images, and Instance disk volume Snapshots. This server must be available to all hosts in the zone.
Provide the IP address and exported path.",
"message.desc.validationformat": "Specifies the format used to validate the parameter value, such as EMAIL, URL, UUID, DECIMAL, etc.",
"message.desc.valueoptions": "Provide a comma-separated list of values that will appear as selectable options for this parameter",
"message.desc.zone": "A Zone is the largest organizational unit in CloudStack, and it typically corresponds to a single datacenter. Zones provide physical isolation and redundancy. A zone consists of one or more Pods (each of which contains hosts and primary storage servers) and a secondary storage server which is shared by all pods in the zone.",
@@ -3407,9 +3342,6 @@
"message.disable.webhook.ssl.verification": "Disabling SSL verification is not recommended",
"message.discovering.feature": "Discovering features, please wait...",
"message.disk.offering.created": "Disk offering created:",
-"message.success.clone.backup.offering": "Successfully cloned backup offering",
-"message.success.clone.disk.offering": "Successfully cloned disk offering:",
-"message.success.clone.network.offering": "Successfully cloned network offering:",
"message.disk.usage.info.data.points": "Each data point represents the difference in read/write data since the last data point.",
"message.disk.usage.info.sum.of.disks": "The disk usage shown is made up of the sum of read/write data from all the disks in the Instance.",
"message.download.volume": "Please click the link to download the volume:00000",
@@ -3432,7 +3364,6 @@
"message.enable.vpn.processing": "Enabling VPN...",
"message.enabled.vpn": "Your remote access VPN is currently enabled and can be accessed via the IP",
"message.enabled.vpn.ip.sec": "Your IPSec pre-shared key is",
-"message.enabled.vpn.ip.range": "Your VPN IP Range is",
"message.enabling.security.group.provider": "Enabling security group provider",
"message.enter.valid.nic.ip": "Please enter a valid IP address for NIC",
"message.error.access.key": "Please enter access key.",
@@ -3452,7 +3383,6 @@
"message.error.apply.tungsten.tag": "Applying Tag failed",
"message.error.binaries.iso.url": "Please enter binaries ISO URL.",
"message.error.bucket": "Please enter bucket",
-"message.error.change.password": "Failed to change password.",
"message.error.cidr": "CIDR is required",
"message.error.cidr.or.cidrsize": "CIDR or cidr size is required",
"message.error.cloudian.console": "Single-Sign-On failed for Cloudian management console. Please ask your administrator to fix integration issues.",
@@ -3471,7 +3401,6 @@
"message.error.delete.tungsten.tag": "Removing Tag failed",
"message.error.description": "Please enter description.",
"message.error.discovering.feature": "Exception caught while discovering features.",
-"message.error.setting.deployasistemplate": "Settings are read directly from the template",
"message.error.setup.2fa": "2FA setup failed while verifying the code, please retry.",
"message.error.verifying.2fa": "Unable to verify 2FA, please retry.",
"message.error.display.text": "Please enter display text.",
@@ -3516,7 +3445,6 @@
"message.error.netmask": "Please enter Netmask.",
"message.error.network.offering": "Please select Network offering.",
"message.error.new.password": "Please enter new password.",
-"message.error.newpassword.sameascurrent": "New password cannot be the same as the current password.",
"message.error.nexus1000v.ipaddress": "Please enter Nexus 1000v IP address.",
"message.error.nexus1000v.password": "Please enter Nexus 1000v password.",
"message.error.nexus1000v.username": "Please enter Nexus 1000v username.",
@@ -3607,8 +3535,6 @@
"message.failed.to.remove": "Failed to remove",
"message.forgot.password.success": "An email has been sent to your email address with instructions on how to reset your password.",
"message.generate.keys": "Please confirm that you would like to generate new API/Secret keys for this User.",
-"message.global.setting.updated": "Global Setting updated successfully.",
-"message.global.setting.update.failed": "Failed to update Global Setting.",
"message.chart.statistic.info": "The shown charts are self-adjustable, that means, if the value gets close to the limit or overpass it, it will grow to adjust the shown value",
"message.chart.statistic.info.hypervisor.additionals": "The metrics data depend on the hypervisor plugin used for each hypervisor. The behavior can vary across different hypervisors. For instance, with KVM, metrics are real-time statistics provided by libvirt. In contrast, with VMware, the metrics are averaged data for a given time interval controlled by configuration.",
"message.guest.traffic.in.advanced.zone": "Guest Network traffic is communication between end-user Instances. Specify a range of VLAN IDs or VXLAN Network identifiers (VNIs) to carry guest traffic for each physical Network.",
@@ -3724,7 +3650,6 @@
"message.move.acl.order.processing": "Moving ACL rule...",
"message.network.acl.default.allow": "Warning: With this policy all traffic will be allowed through the firewall to this VPC Network Tier. You should consider securing your Network.",
"message.network.acl.default.deny": "Warning: With this policy all traffic will be denied through the firewall to this VPC Network Tier. In order to allow traffic through you will need to change policies.",
-"message.network.acl.import.note": "Note: Only valid rules from the CSV will be imported. Invalid entries will be discarded.",
"message.network.addvm.desc": "Please specify the Network that you would like to add this Instance to. A new NIC will be added for this Network.",
"message.network.description": "Setup Network and traffic.",
"message.network.error": "Network Error",
@@ -3742,7 +3667,6 @@
"message.network.selection": "Choose one or more Networks to attach the Instance to.",
"message.network.selection.new.network": "A new Network can also be created here.",
"message.network.updateip": "Please confirm that you would like to change the IP address for this NIC on the Instance.",
-"message.network.update.nic": "Please confirm that you would like to update this NIC.",
"message.network.usage.info.data.points": "Each data point represents the difference in data traffic since the last data point.",
"message.network.usage.info.sum.of.vnics": "The Network usage shown is made up of the sum of data traffic from all the vNICs in the Instance.",
"message.nfs.mount.options.description": "Comma separated list of NFS mount options for KVM hosts. Supported options : vers=[3,4.0,4.1,4.2], nconnect=[1...16]",
@@ -3762,7 +3686,6 @@
"message.please.confirm.remove.user.data": "Please confirm that you want to remove this User Data",
"message.please.enter.valid.value": "Please enter a valid value.",
"message.please.enter.value": "Please enter values.",
-"message.please.login.new.password": "Please log in again with your new password",
"message.please.wait.while.autoscale.vmgroup.is.being.created": "Please wait while your AutoScaling Group is being created; this may take a while...",
"message.please.wait.while.zone.is.being.created": "Please wait while your Zone is being created; this may take a while...",
"message.pod.dedicated": "Pod dedicated.",
@@ -3785,7 +3708,6 @@
"message.releasing.dedicated.host": "Releasing dedicated host...",
"message.releasing.dedicated.pod": "Releasing dedicated Pod...",
"message.releasing.dedicated.zone": "Releasing dedicated Zone...",
-"message.remote.access.vpn.iprange.description": "The range of IP addresses to allocate to VPN clients. The first IP in the range will be taken by the VPN server. (Optional)",
"message.remove.annotation": "Are you sure you want to delete the comment?",
"message.remove.egress.rule.failed": "Removing egress rule failed",
"message.remove.egress.rule.processing": "Deleting egress rule...",
@@ -3819,7 +3741,6 @@
"message.resource.not.found": "Resource not found.",
"message.restart.mgmt.server": "Please restart your management server(s) for your new settings to take effect.",
"message.restart.network": "All services provided by this Network will be interrupted. Please confirm that you want to restart this Network.",
-"message.restart.usage.server": "Please restart your usage server(s) for your new settings to take effect.",
"message.restart.vm.to.update.settings": "Update in fields other than name and display name will require the Instance to be restarted.",
"message.restart.vpc": "Please confirm that you want to restart the VPC.",
"message.restart.vpc.remark": "Please confirm that you want to restart the VPC
Remark: making a non-redundant VPC redundant will force a clean up. The Networks will not be available for a couple of minutes.
",
@@ -3909,9 +3830,8 @@
"message.success.add.tungsten.routing.policy": "Successfully added Tungsten-Fabric routing policy",
"message.success.add.vpc": "Successfully added a Virtual Private Cloud",
"message.success.add.vpc.network": "Successfully added a VPC network",
-"message.success.add.vpn.customer.gateway": "Successfully added VPN Customer Gateway",
+"message.success.add.vpn.customer.gateway": "Successfully added VPN customer gateway",
"message.success.add.vpn.gateway": "Successfully added VPN gateway",
-"message.success.add.webhook.filter": "Successfully added Webhook Filter",
"message.success.assign.sslcert": "Successfully assigned SSL certificate",
"message.success.assign.vm": "Successfully assigned Instance",
"message.success.apply.network.policy": "Successfully applied Network Policy",
@@ -3924,7 +3844,6 @@
"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.clear.webhook.filters": "Successfully cleared webhook filters",
"message.success.change.scope": "Successfully changed scope for storage pool",
"message.success.config.backup.schedule": "Successfully configured Instance backup schedule",
"message.success.config.health.monitor": "Successfully Configure Health Monitor",
@@ -4026,17 +3945,15 @@
"message.success.delete.vgpu.profile": "Successfully deleted vGPU profile",
"message.success.update.custom.action": "Successfully updated Custom Action",
"message.success.update.extension": "Successfully updated Extension",
+"message.success.update.sharedfs": "Successfully updated Shared FileSystem",
"message.success.update.ipaddress": "Successfully updated IP address",
"message.success.update.iprange": "Successfully updated IP range",
"message.success.update.ipv4.subnet": "Successfully updated IPv4 subnet",
"message.success.update.iso": "Successfully updated ISO",
"message.success.update.kubeversion": "Successfully updated Kubernetes supported version",
"message.success.update.network": "Successfully updated Network",
-"message.success.update.nic": "Successfully updated NIC",
-"message.success.update.sharedfs": "Successfully updated Shared FileSystem",
"message.success.update.template": "Successfully updated Template",
"message.success.update.user": "Successfully updated User",
-"message.success.update.vpn.customer.gateway": "Successfully updated VPN Customer Gateway",
"message.success.upgrade.kubernetes": "Successfully upgraded Kubernetes Cluster",
"message.success.upload": "Successfully uploaded",
"message.success.upload.description": "This ISO file has been uploaded. Please check its status in the Templates menu.",
@@ -4064,9 +3981,6 @@
"message.update.condition.failed": "Failed to update condition",
"message.update.condition.processing": "Updating condition...",
"message.update.failed": "Update failed",
-"message.update.vpn.customer.gateway": "Update VPN Customer Gateway",
-"message.update.vpn.customer.gateway.failed": "Updating the VPN Customer Gateway failed",
-"message.update.vpn.customer.gateway.processing": "Updating VPN Customer Gateway...",
"message.test.webhook.delivery": "Test delivery to the Webhook with an optional payload",
"message.two.factor.authorization.failed": "Unable to verify 2FA with provided code, please retry.",
"message.two.fa.auth": "Open the two-factor authentication app on your mobile device to view your authentication code.",
@@ -4083,7 +3997,6 @@
"message.two.fa.setup.page": "Two factor authentication (2FA) is an extra layer of security to your account.
Once setup is done, on every login you will be prompted to enter the 2FA code.
",
"message.two.fa.view.setup.key": "Click here to view the setup key",
"message.two.fa.view.static.pin": "Click here to view the static PIN",
-"message.update.nic.processing": "Updating NIC...",
"message.update.ipaddress.processing": "Updating IP Address...",
"message.update.resource.count": "Please confirm that you want to update resource counts for this Account.",
"message.update.resource.count.domain": "Please confirm that you want to update resource counts for this domain.",
@@ -4131,7 +4044,6 @@
"message.vnf.no.credentials": "No credentials found for the VNF appliance.",
"message.vnf.select.networks": "Please select the relevant network for each VNF NIC.",
"message.volume.desc": "Volume to use as a ROOT disk",
-"message.volume.pool.apply.to.all": "Selected storage pool will be applied to all existing volumes of the instance.",
"message.volume.state.allocated": "The volume is allocated but has not been created yet.",
"message.volume.state.attaching": "The volume is attaching to a volume from Ready state.",
"message.volume.state.copying": "The volume is being copied from the image store to primary storage, in case it's an uploaded volume.",
@@ -4155,11 +4067,6 @@
"message.volumes.managed": "Volumes controlled by CloudStack.",
"message.volumes.unmanaged": "Volumes not controlled by CloudStack.",
"message.vpc.restart.required": "Restart is required for VPC(s). Click here to view VPC(s) which require restart.",
-"message.vpn.customer.gateway.contains.excluded.obsolete.parameters": "This VPN Customer Gateway contains cryptographic parameters that are marked as excluded or obsolete by the Administrator. Consider changing them using the Update VPN Customer Gateway form.",
-"message.vpn.customer.gateway.excluded.parameter": " is marked as excluded. Please choose another value.",
-"message.vpn.customer.gateway.obsolete.parameter": " is marked as obsolete/insecure. Please choose another value.",
-"message.vpn.customer.gateway.obsolete.parameter.tooltip": "This parameter value is marked as obsolete/insecure.",
-"message.vr.alert.upon.network.offering.creation.l2": "As virtual routers are not created for L2 Networks, the compute offering will not be used.",
"message.vr.alert.upon.network.offering.creation.others": "As none of the obligatory services for creating a virtual router (VPN, DHCP, DNS, Firewall, LB, UserData, SourceNat, StaticNat, PortForwarding) are enabled, the virtual router will not be created and the compute offering will not be used.",
"message.warn.change.primary.storage.scope": "This feature is tested and supported for the following configurations:
KVM - NFS/Ceph - DefaultPrimary
VMware - NFS - DefaultPrimary
*There might be extra steps involved to make it work for other configurations.",
"message.warn.filetype": "jpg, jpeg, png, bmp and svg are the only supported image formats.",
diff --git a/ui/src/views/infra/AddObjectStorage.vue b/ui/src/views/infra/AddObjectStorage.vue
index 5410a9b9502f..dca99e98dc7c 100644
--- a/ui/src/views/infra/AddObjectStorage.vue
+++ b/ui/src/views/infra/AddObjectStorage.vue
@@ -31,6 +31,7 @@
+
@@ -51,8 +52,8 @@
+
-
@@ -67,16 +68,82 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('label.ecs.insecure') }}
+
+
+
+
+
+
+
+