feat: Support manila instance page
1. Add manila instance list page 2. Add manila instance detail page 3. Refactor request to better config request Change-Id: I81207ac67d550297057f121842e2f736e450079f
This commit is contained in:
@@ -46,6 +46,52 @@ export class HttpRequest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addRequestId(config) {
|
||||||
|
const uuid = uuidv4();
|
||||||
|
config.headers['X-Openstack-Request-Id'] = `req-${uuid}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
addToken(config) {
|
||||||
|
const keystoneToken = getLocalStorageItem('keystone_token') || '';
|
||||||
|
if (keystoneToken) {
|
||||||
|
config.headers['X-Auth-Token'] = keystoneToken;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
addVersion(config, url) {
|
||||||
|
const { getOpenstackApiVersion } = require('./constants');
|
||||||
|
const apiVersionMap = getOpenstackApiVersion(url);
|
||||||
|
|
||||||
|
if (apiVersionMap) {
|
||||||
|
config.headers[apiVersionMap.key] = apiVersionMap.value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
updateHeaderByConfig(config) {
|
||||||
|
const { options: { headers, isFormData, ...rest } = {} } = config;
|
||||||
|
if (!isEmpty(headers)) {
|
||||||
|
config.headers = {
|
||||||
|
...config.headers,
|
||||||
|
...headers,
|
||||||
|
};
|
||||||
|
console.log('new config headers', config.headers);
|
||||||
|
}
|
||||||
|
if (isFormData) {
|
||||||
|
delete config.headers['Content-Type'];
|
||||||
|
}
|
||||||
|
Object.keys(rest).forEach((key) => {
|
||||||
|
config[key] = rest[key];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
updateRequestConfig(config, url) {
|
||||||
|
this.addRequestId(config);
|
||||||
|
this.addToken(config);
|
||||||
|
this.addVersion(config, url);
|
||||||
|
this.updateHeaderByConfig(config);
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param instance instance of axios
|
* @param instance instance of axios
|
||||||
* @param url request url
|
* @param url request url
|
||||||
@@ -55,32 +101,7 @@ export class HttpRequest {
|
|||||||
interceptors(instance, url) {
|
interceptors(instance, url) {
|
||||||
instance.interceptors.request.use(
|
instance.interceptors.request.use(
|
||||||
(config) => {
|
(config) => {
|
||||||
const uuid = uuidv4();
|
return this.updateRequestConfig(config, url);
|
||||||
config.headers['X-Openstack-Request-Id'] = `req-${uuid}`;
|
|
||||||
const keystoneToken = getLocalStorageItem('keystone_token') || '';
|
|
||||||
const { getOpenstackApiVersion } = require('./constants');
|
|
||||||
const apiVersionMap = getOpenstackApiVersion(url);
|
|
||||||
if (keystoneToken) {
|
|
||||||
config.headers['X-Auth-Token'] = keystoneToken;
|
|
||||||
}
|
|
||||||
if (apiVersionMap) {
|
|
||||||
config.headers[apiVersionMap.key] = apiVersionMap.value;
|
|
||||||
}
|
|
||||||
const { options: { headers, isFormData, ...rest } = {} } = config;
|
|
||||||
if (!isEmpty(headers)) {
|
|
||||||
config.headers = {
|
|
||||||
...config.headers,
|
|
||||||
...headers,
|
|
||||||
};
|
|
||||||
console.log('new config headers', config.headers);
|
|
||||||
}
|
|
||||||
if (isFormData) {
|
|
||||||
delete config.headers['Content-Type'];
|
|
||||||
}
|
|
||||||
Object.keys(rest).forEach((key) => {
|
|
||||||
config[key] = rest[key];
|
|
||||||
});
|
|
||||||
return config;
|
|
||||||
},
|
},
|
||||||
(err) => Promise.reject(err)
|
(err) => Promise.reject(err)
|
||||||
);
|
);
|
||||||
|
@@ -90,6 +90,24 @@ class ManilaClient extends Base {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'shareInstances',
|
||||||
|
key: 'share_instances',
|
||||||
|
responseKey: 'share_instance',
|
||||||
|
extendOperations: [
|
||||||
|
{
|
||||||
|
key: 'action',
|
||||||
|
method: 'post',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
subResources: [
|
||||||
|
{
|
||||||
|
name: 'exportLocations',
|
||||||
|
key: 'export_locations',
|
||||||
|
responseKey: 'export_location',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -437,6 +437,22 @@ const renderMenu = (t) => {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/share/share-instance-admin',
|
||||||
|
name: t('Share Instance'),
|
||||||
|
key: 'shareInstanceAdmin',
|
||||||
|
level: 1,
|
||||||
|
endpoints: 'manilav2',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: /^\/share\/share-instance-admin\/detail\/.[^/]+$/,
|
||||||
|
name: t('Share Instance Detail'),
|
||||||
|
key: 'shareInstanceDetailAdmin',
|
||||||
|
level: 2,
|
||||||
|
routePath: '/share/share-instance-admin/detail/:id',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
"Abandoning this stack will preserve the resources deployed by the stack.": "Abandoning this stack will preserve the resources deployed by the stack.",
|
"Abandoning this stack will preserve the resources deployed by the stack.": "Abandoning this stack will preserve the resources deployed by the stack.",
|
||||||
"Accept Volume Transfer": "Accept Volume Transfer",
|
"Accept Volume Transfer": "Accept Volume Transfer",
|
||||||
"Access Control": "Access Control",
|
"Access Control": "Access Control",
|
||||||
|
"Access Rules Status": "Access Rules Status",
|
||||||
"Access Type": "Access Type",
|
"Access Type": "Access Type",
|
||||||
"Access Type Setting": "Access Type Setting",
|
"Access Type Setting": "Access Type Setting",
|
||||||
"Action": "Action",
|
"Action": "Action",
|
||||||
@@ -263,6 +264,7 @@
|
|||||||
"Cancel upload successfully.": "Cancel upload successfully.",
|
"Cancel upload successfully.": "Cancel upload successfully.",
|
||||||
"Capacity (GB)": "Capacity (GB)",
|
"Capacity (GB)": "Capacity (GB)",
|
||||||
"Cape Verde": "Cape Verde",
|
"Cape Verde": "Cape Verde",
|
||||||
|
"Cast Rules To Read Only": "Cast Rules To Read Only",
|
||||||
"Category": "Category",
|
"Category": "Category",
|
||||||
"Cayman Islands": "Cayman Islands",
|
"Cayman Islands": "Cayman Islands",
|
||||||
"CentOS": "CentOS",
|
"CentOS": "CentOS",
|
||||||
@@ -446,6 +448,7 @@
|
|||||||
"Created At": "Created At",
|
"Created At": "Created At",
|
||||||
"Created Time": "Created Time",
|
"Created Time": "Created Time",
|
||||||
"Creating": "Creating",
|
"Creating": "Creating",
|
||||||
|
"Creating From Snapshot": "Creating From Snapshot",
|
||||||
"Creation Timeout (Minutes)": "Creation Timeout (Minutes)",
|
"Creation Timeout (Minutes)": "Creation Timeout (Minutes)",
|
||||||
"Credential Type": "Credential Type",
|
"Credential Type": "Credential Type",
|
||||||
"Croatia (local name: Hrvatska)": "Croatia (local name: Hrvatska)",
|
"Croatia (local name: Hrvatska)": "Croatia (local name: Hrvatska)",
|
||||||
@@ -742,10 +745,13 @@
|
|||||||
"Expand Advanced Options": "Expand Advanced Options",
|
"Expand Advanced Options": "Expand Advanced Options",
|
||||||
"Expired Time": "Expired Time",
|
"Expired Time": "Expired Time",
|
||||||
"Expires At": "Expires At",
|
"Expires At": "Expires At",
|
||||||
|
"Export Location": "Export Location",
|
||||||
|
"Export Locations": "Export Locations",
|
||||||
"Extend Root Volume": "Extend Root Volume",
|
"Extend Root Volume": "Extend Root Volume",
|
||||||
"Extend Volume": "Extend Volume",
|
"Extend Volume": "Extend Volume",
|
||||||
"Extend volume": "Extend volume",
|
"Extend volume": "Extend volume",
|
||||||
"Extending": "Extending",
|
"Extending": "Extending",
|
||||||
|
"Extending Error": "Extending Error",
|
||||||
"External": "External",
|
"External": "External",
|
||||||
"External Fixed IP": "External Fixed IP",
|
"External Fixed IP": "External Fixed IP",
|
||||||
"External Fixed IPs": "External Fixed IPs",
|
"External Fixed IPs": "External Fixed IPs",
|
||||||
@@ -972,6 +978,7 @@
|
|||||||
"In the last 7 days": "In the last 7 days",
|
"In the last 7 days": "In the last 7 days",
|
||||||
"In the last hour": "In the last hour",
|
"In the last hour": "In the last hour",
|
||||||
"In-use": "In-use",
|
"In-use": "In-use",
|
||||||
|
"Inactive": "Inactive",
|
||||||
"Increment Backup": "Increment Backup",
|
"Increment Backup": "Increment Backup",
|
||||||
"Incremental": "Incremental",
|
"Incremental": "Incremental",
|
||||||
"Incremental Backup": "Incremental Backup",
|
"Incremental Backup": "Incremental Backup",
|
||||||
@@ -1063,6 +1070,7 @@
|
|||||||
"Ironic Instance Name": "Ironic Instance Name",
|
"Ironic Instance Name": "Ironic Instance Name",
|
||||||
"Is Current Project": "Is Current Project",
|
"Is Current Project": "Is Current Project",
|
||||||
"Is Public": "Is Public",
|
"Is Public": "Is Public",
|
||||||
|
"Is admin only": "Is admin only",
|
||||||
"Is associate to floating ip: ": "Is associate to floating ip: ",
|
"Is associate to floating ip: ": "Is associate to floating ip: ",
|
||||||
"Is external network port": "Is external network port",
|
"Is external network port": "Is external network port",
|
||||||
"Isolate": "Isolate",
|
"Isolate": "Isolate",
|
||||||
@@ -1175,11 +1183,13 @@
|
|||||||
"Mali": "Mali",
|
"Mali": "Mali",
|
||||||
"Malta": "Malta",
|
"Malta": "Malta",
|
||||||
"Manage Access": "Manage Access",
|
"Manage Access": "Manage Access",
|
||||||
|
"Manage Error": "Manage Error",
|
||||||
"Manage Host": "Manage Host",
|
"Manage Host": "Manage Host",
|
||||||
"Manage Metadata": "Manage Metadata",
|
"Manage Metadata": "Manage Metadata",
|
||||||
"Manage QoS": "Manage QoS",
|
"Manage QoS": "Manage QoS",
|
||||||
"Manage Resource Types": "Manage Resource Types",
|
"Manage Resource Types": "Manage Resource Types",
|
||||||
"Manage Security Group": "Manage Security Group",
|
"Manage Security Group": "Manage Security Group",
|
||||||
|
"Manage Starting": "Manage Starting",
|
||||||
"Manage State": "Manage State",
|
"Manage State": "Manage State",
|
||||||
"Manage User": "Manage User",
|
"Manage User": "Manage User",
|
||||||
"Manage User Group": "Manage User Group",
|
"Manage User Group": "Manage User Group",
|
||||||
@@ -1230,6 +1240,7 @@
|
|||||||
"Migrate Volume": "Migrate Volume",
|
"Migrate Volume": "Migrate Volume",
|
||||||
"Migrate volume": "Migrate volume",
|
"Migrate volume": "Migrate volume",
|
||||||
"Migrating": "Migrating",
|
"Migrating": "Migrating",
|
||||||
|
"Migrating To": "Migrating To",
|
||||||
"Min Memory": "Min Memory",
|
"Min Memory": "Min Memory",
|
||||||
"Min Memory(GB)": "Min Memory(GB)",
|
"Min Memory(GB)": "Min Memory(GB)",
|
||||||
"Min System Disk": "Min System Disk",
|
"Min System Disk": "Min System Disk",
|
||||||
@@ -1375,6 +1386,7 @@
|
|||||||
"Other Service": "Other Service",
|
"Other Service": "Other Service",
|
||||||
"Others": "Others",
|
"Others": "Others",
|
||||||
"Out Cluster": "Out Cluster",
|
"Out Cluster": "Out Cluster",
|
||||||
|
"Out of Sync": "Out of Sync",
|
||||||
"Outputs": "Outputs",
|
"Outputs": "Outputs",
|
||||||
"Overlapping allocation pools: {pools}": "Overlapping allocation pools: {pools}",
|
"Overlapping allocation pools: {pools}": "Overlapping allocation pools: {pools}",
|
||||||
"Owned Network": "Owned Network",
|
"Owned Network": "Owned Network",
|
||||||
@@ -1403,6 +1415,7 @@
|
|||||||
"Password must be the same with confirm password.": "Password must be the same with confirm password.",
|
"Password must be the same with confirm password.": "Password must be the same with confirm password.",
|
||||||
"Paste": "Paste",
|
"Paste": "Paste",
|
||||||
"Paste File": "Paste File",
|
"Paste File": "Paste File",
|
||||||
|
"Path": "Path",
|
||||||
"Pause": "Pause",
|
"Pause": "Pause",
|
||||||
"Pause Instance": "Pause Instance",
|
"Pause Instance": "Pause Instance",
|
||||||
"Paused": "Paused",
|
"Paused": "Paused",
|
||||||
@@ -1535,12 +1548,14 @@
|
|||||||
"Pre-Shared Key(PSK) String": "Pre-Shared Key(PSK) String",
|
"Pre-Shared Key(PSK) String": "Pre-Shared Key(PSK) String",
|
||||||
"Prefer": "Prefer",
|
"Prefer": "Prefer",
|
||||||
"Prefer(Thread siblings are preferred)": "Prefer(Thread siblings are preferred)",
|
"Prefer(Thread siblings are preferred)": "Prefer(Thread siblings are preferred)",
|
||||||
|
"Preferred": "Preferred",
|
||||||
"Prefix": "Prefix",
|
"Prefix": "Prefix",
|
||||||
"Prep Resize": "Prep Resize",
|
"Prep Resize": "Prep Resize",
|
||||||
"Prepare Template": "Prepare Template",
|
"Prepare Template": "Prepare Template",
|
||||||
"Previous": "Previous",
|
"Previous": "Previous",
|
||||||
"Private": "Private",
|
"Private": "Private",
|
||||||
"Profile": "Profile",
|
"Profile": "Profile",
|
||||||
|
"Progress": "Progress",
|
||||||
"Project": "Project",
|
"Project": "Project",
|
||||||
"Project Admin": "Project Admin",
|
"Project Admin": "Project Admin",
|
||||||
"Project Detail": "Project Detail",
|
"Project Detail": "Project Detail",
|
||||||
@@ -1633,6 +1648,7 @@
|
|||||||
"Remove Router": "Remove Router",
|
"Remove Router": "Remove Router",
|
||||||
"Rename": "Rename",
|
"Rename": "Rename",
|
||||||
"Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.": "Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.",
|
"Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.": "Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.",
|
||||||
|
"Replication Change": "Replication Change",
|
||||||
"Republic Of The Congo": "Republic Of The Congo",
|
"Republic Of The Congo": "Republic Of The Congo",
|
||||||
"Request ID": "Request ID",
|
"Request ID": "Request ID",
|
||||||
"Require": "Require",
|
"Require": "Require",
|
||||||
@@ -1674,6 +1690,7 @@
|
|||||||
"Revert Resize or Migrate": "Revert Resize or Migrate",
|
"Revert Resize or Migrate": "Revert Resize or Migrate",
|
||||||
"Revert Resize/Migrate": "Revert Resize/Migrate",
|
"Revert Resize/Migrate": "Revert Resize/Migrate",
|
||||||
"Reverting": "Reverting",
|
"Reverting": "Reverting",
|
||||||
|
"Reverting Error": "Reverting Error",
|
||||||
"Reverting Resize or Migrate": "Reverting Resize or Migrate",
|
"Reverting Resize or Migrate": "Reverting Resize or Migrate",
|
||||||
"Role": "Role",
|
"Role": "Role",
|
||||||
"Role Detail": "Role Detail",
|
"Role Detail": "Role Detail",
|
||||||
@@ -1753,6 +1770,11 @@
|
|||||||
"Share File Storage": "Share File Storage",
|
"Share File Storage": "Share File Storage",
|
||||||
"Share Group Type": "Share Group Type",
|
"Share Group Type": "Share Group Type",
|
||||||
"Share Group Type Detail": "Share Group Type Detail",
|
"Share Group Type Detail": "Share Group Type Detail",
|
||||||
|
"Share Id": "Share Id",
|
||||||
|
"Share Instance": "Share Instance",
|
||||||
|
"Share Instance Detail": "Share Instance Detail",
|
||||||
|
"Share Network": "Share Network",
|
||||||
|
"Share Server": "Share Server",
|
||||||
"Share Type": "Share Type",
|
"Share Type": "Share Type",
|
||||||
"Share Type Detail": "Share Type Detail",
|
"Share Type Detail": "Share Type Detail",
|
||||||
"Shared": "Shared",
|
"Shared": "Shared",
|
||||||
@@ -1770,6 +1792,9 @@
|
|||||||
"Show All Domain": "Show All Domain",
|
"Show All Domain": "Show All Domain",
|
||||||
"Show Instance": "Show Instance",
|
"Show Instance": "Show Instance",
|
||||||
"Show all Data": "Show all Data",
|
"Show all Data": "Show all Data",
|
||||||
|
"Shrinking": "Shrinking",
|
||||||
|
"Shrinking Error": "Shrinking Error",
|
||||||
|
"Shrinking Possible Data Loss Error": "Shrinking Possible Data Loss Error",
|
||||||
"Shut Down": "Shut Down",
|
"Shut Down": "Shut Down",
|
||||||
"Shut Off": "Shut Off",
|
"Shut Off": "Shut Off",
|
||||||
"Shutoff": "Shutoff",
|
"Shutoff": "Shutoff",
|
||||||
@@ -1884,6 +1909,7 @@
|
|||||||
"Switch Language": "Switch Language",
|
"Switch Language": "Switch Language",
|
||||||
"Switch Project": "Switch Project",
|
"Switch Project": "Switch Project",
|
||||||
"Switzerland": "Switzerland",
|
"Switzerland": "Switzerland",
|
||||||
|
"Syncing": "Syncing",
|
||||||
"Syrian Arab Republic": "Syrian Arab Republic",
|
"Syrian Arab Republic": "Syrian Arab Republic",
|
||||||
"System": "System",
|
"System": "System",
|
||||||
"System Admin": "System Admin",
|
"System Admin": "System Admin",
|
||||||
@@ -2057,6 +2083,9 @@
|
|||||||
"Unlimit": "Unlimit",
|
"Unlimit": "Unlimit",
|
||||||
"Unlock": "Unlock",
|
"Unlock": "Unlock",
|
||||||
"Unlock Instance": "Unlock Instance",
|
"Unlock Instance": "Unlock Instance",
|
||||||
|
"Unmanage Error": "Unmanage Error",
|
||||||
|
"Unmanage Starting": "Unmanage Starting",
|
||||||
|
"Unmanaged": "Unmanaged",
|
||||||
"Unpause": "Unpause",
|
"Unpause": "Unpause",
|
||||||
"Unpause Instance": "Unpause Instance",
|
"Unpause Instance": "Unpause Instance",
|
||||||
"Unrescuing": "Unrescuing",
|
"Unrescuing": "Unrescuing",
|
||||||
@@ -2405,6 +2434,8 @@
|
|||||||
"services": "services",
|
"services": "services",
|
||||||
"settings": "settings",
|
"settings": "settings",
|
||||||
"share group type": "share group type",
|
"share group type": "share group type",
|
||||||
|
"share instance": "share instance",
|
||||||
|
"share instances": "share instances",
|
||||||
"share type": "share type",
|
"share type": "share type",
|
||||||
"share types": "share types",
|
"share types": "share types",
|
||||||
"shelve instance": "shelve instance",
|
"shelve instance": "shelve instance",
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
"Abandoning this stack will preserve the resources deployed by the stack.": "废弃此堆栈将保留堆栈部署的资源。",
|
"Abandoning this stack will preserve the resources deployed by the stack.": "废弃此堆栈将保留堆栈部署的资源。",
|
||||||
"Accept Volume Transfer": "接受云硬盘转让",
|
"Accept Volume Transfer": "接受云硬盘转让",
|
||||||
"Access Control": "访问控制",
|
"Access Control": "访问控制",
|
||||||
|
"Access Rules Status": "访问规则状态",
|
||||||
"Access Type": "访问类型",
|
"Access Type": "访问类型",
|
||||||
"Access Type Setting": "访问类型设置",
|
"Access Type Setting": "访问类型设置",
|
||||||
"Action": "操作",
|
"Action": "操作",
|
||||||
@@ -263,6 +264,7 @@
|
|||||||
"Cancel upload successfully.": "取消上传成功。",
|
"Cancel upload successfully.": "取消上传成功。",
|
||||||
"Capacity (GB)": "容量(GB)",
|
"Capacity (GB)": "容量(GB)",
|
||||||
"Cape Verde": "佛得角",
|
"Cape Verde": "佛得角",
|
||||||
|
"Cast Rules To Read Only": "规则强制只读",
|
||||||
"Category": "类别",
|
"Category": "类别",
|
||||||
"Cayman Islands": "开曼群岛",
|
"Cayman Islands": "开曼群岛",
|
||||||
"CentOS": "",
|
"CentOS": "",
|
||||||
@@ -446,6 +448,7 @@
|
|||||||
"Created At": "创建于",
|
"Created At": "创建于",
|
||||||
"Created Time": "创建时间",
|
"Created Time": "创建时间",
|
||||||
"Creating": "创建中",
|
"Creating": "创建中",
|
||||||
|
"Creating From Snapshot": "正在从快照创建共享",
|
||||||
"Creation Timeout (Minutes)": "创建超时(分钟)",
|
"Creation Timeout (Minutes)": "创建超时(分钟)",
|
||||||
"Credential Type": "凭证类型",
|
"Credential Type": "凭证类型",
|
||||||
"Croatia (local name: Hrvatska)": "克罗地亚",
|
"Croatia (local name: Hrvatska)": "克罗地亚",
|
||||||
@@ -742,10 +745,13 @@
|
|||||||
"Expand Advanced Options": "展开高级选项",
|
"Expand Advanced Options": "展开高级选项",
|
||||||
"Expired Time": "到期时间",
|
"Expired Time": "到期时间",
|
||||||
"Expires At": "到期时间",
|
"Expires At": "到期时间",
|
||||||
|
"Export Location": "导入位置",
|
||||||
|
"Export Locations": "导入位置",
|
||||||
"Extend Root Volume": "扩容根硬盘",
|
"Extend Root Volume": "扩容根硬盘",
|
||||||
"Extend Volume": "扩容云硬盘",
|
"Extend Volume": "扩容云硬盘",
|
||||||
"Extend volume": "扩容云硬盘",
|
"Extend volume": "扩容云硬盘",
|
||||||
"Extending": "扩展中",
|
"Extending": "扩展中",
|
||||||
|
"Extending Error": "扩展失败",
|
||||||
"External": "外部网络",
|
"External": "外部网络",
|
||||||
"External Fixed IP": "外部固定IP",
|
"External Fixed IP": "外部固定IP",
|
||||||
"External Fixed IPs": "外部固定IP",
|
"External Fixed IPs": "外部固定IP",
|
||||||
@@ -972,6 +978,7 @@
|
|||||||
"In the last 7 days": "最近7天",
|
"In the last 7 days": "最近7天",
|
||||||
"In the last hour": "最近1小时",
|
"In the last hour": "最近1小时",
|
||||||
"In-use": "正在使用",
|
"In-use": "正在使用",
|
||||||
|
"Inactive": "非活动状态",
|
||||||
"Increment Backup": "增量备份",
|
"Increment Backup": "增量备份",
|
||||||
"Incremental": "增量",
|
"Incremental": "增量",
|
||||||
"Incremental Backup": "增量备份",
|
"Incremental Backup": "增量备份",
|
||||||
@@ -1063,6 +1070,7 @@
|
|||||||
"Ironic Instance Name": "裸机名称",
|
"Ironic Instance Name": "裸机名称",
|
||||||
"Is Current Project": "属于当前项目",
|
"Is Current Project": "属于当前项目",
|
||||||
"Is Public": "公有",
|
"Is Public": "公有",
|
||||||
|
"Is admin only": "仅限管理员",
|
||||||
"Is associate to floating ip: ": "已绑定浮动IP:",
|
"Is associate to floating ip: ": "已绑定浮动IP:",
|
||||||
"Is external network port": "是外部网络的网卡",
|
"Is external network port": "是外部网络的网卡",
|
||||||
"Isolate": "",
|
"Isolate": "",
|
||||||
@@ -1175,11 +1183,13 @@
|
|||||||
"Mali": "马里",
|
"Mali": "马里",
|
||||||
"Malta": "马尔他",
|
"Malta": "马尔他",
|
||||||
"Manage Access": "访问管理",
|
"Manage Access": "访问管理",
|
||||||
|
"Manage Error": "管理失败",
|
||||||
"Manage Host": "管理主机",
|
"Manage Host": "管理主机",
|
||||||
"Manage Metadata": "管理元数据",
|
"Manage Metadata": "管理元数据",
|
||||||
"Manage QoS": "管理QoS",
|
"Manage QoS": "管理QoS",
|
||||||
"Manage Resource Types": "管理资源类型",
|
"Manage Resource Types": "管理资源类型",
|
||||||
"Manage Security Group": "管理安全组",
|
"Manage Security Group": "管理安全组",
|
||||||
|
"Manage Starting": "管理开始",
|
||||||
"Manage State": "管理状态",
|
"Manage State": "管理状态",
|
||||||
"Manage User": "管理用户",
|
"Manage User": "管理用户",
|
||||||
"Manage User Group": "管理用户组",
|
"Manage User Group": "管理用户组",
|
||||||
@@ -1230,6 +1240,7 @@
|
|||||||
"Migrate Volume": "迁移云硬盘",
|
"Migrate Volume": "迁移云硬盘",
|
||||||
"Migrate volume": "迁移云硬盘",
|
"Migrate volume": "迁移云硬盘",
|
||||||
"Migrating": "迁移",
|
"Migrating": "迁移",
|
||||||
|
"Migrating To": "迁移目标",
|
||||||
"Min Memory": "最小内存",
|
"Min Memory": "最小内存",
|
||||||
"Min Memory(GB)": "最小内存(GB)",
|
"Min Memory(GB)": "最小内存(GB)",
|
||||||
"Min System Disk": "最小系统盘",
|
"Min System Disk": "最小系统盘",
|
||||||
@@ -1375,6 +1386,7 @@
|
|||||||
"Other Service": "其他服务",
|
"Other Service": "其他服务",
|
||||||
"Others": "其他",
|
"Others": "其他",
|
||||||
"Out Cluster": "集群外",
|
"Out Cluster": "集群外",
|
||||||
|
"Out of Sync": "不同步",
|
||||||
"Outputs": "输出",
|
"Outputs": "输出",
|
||||||
"Overlapping allocation pools: {pools}": "重叠的分配地址池: {pools}",
|
"Overlapping allocation pools: {pools}": "重叠的分配地址池: {pools}",
|
||||||
"Owned Network": "所属网络",
|
"Owned Network": "所属网络",
|
||||||
@@ -1403,6 +1415,7 @@
|
|||||||
"Password must be the same with confirm password.": "密码和确认密码必须一致。",
|
"Password must be the same with confirm password.": "密码和确认密码必须一致。",
|
||||||
"Paste": "粘贴",
|
"Paste": "粘贴",
|
||||||
"Paste File": "粘贴文件",
|
"Paste File": "粘贴文件",
|
||||||
|
"Path": "路径",
|
||||||
"Pause": "暂停",
|
"Pause": "暂停",
|
||||||
"Pause Instance": "暂停云主机",
|
"Pause Instance": "暂停云主机",
|
||||||
"Paused": "已暂停",
|
"Paused": "已暂停",
|
||||||
@@ -1535,12 +1548,14 @@
|
|||||||
"Pre-Shared Key(PSK) String": "预共享密钥(PSK)",
|
"Pre-Shared Key(PSK) String": "预共享密钥(PSK)",
|
||||||
"Prefer": "",
|
"Prefer": "",
|
||||||
"Prefer(Thread siblings are preferred)": "Prefer(最好有多线程, 若有的话则使用线程的兄弟节点)",
|
"Prefer(Thread siblings are preferred)": "Prefer(最好有多线程, 若有的话则使用线程的兄弟节点)",
|
||||||
|
"Preferred": "首选",
|
||||||
"Prefix": "前缀",
|
"Prefix": "前缀",
|
||||||
"Prep Resize": "预调整",
|
"Prep Resize": "预调整",
|
||||||
"Prepare Template": "准备模板",
|
"Prepare Template": "准备模板",
|
||||||
"Previous": "上一步",
|
"Previous": "上一步",
|
||||||
"Private": "私有",
|
"Private": "私有",
|
||||||
"Profile": "概要",
|
"Profile": "概要",
|
||||||
|
"Progress": "进度",
|
||||||
"Project": "项目",
|
"Project": "项目",
|
||||||
"Project Admin": "项目管理权限",
|
"Project Admin": "项目管理权限",
|
||||||
"Project Detail": "项目详情",
|
"Project Detail": "项目详情",
|
||||||
@@ -1633,6 +1648,7 @@
|
|||||||
"Remove Router": "移除路由器",
|
"Remove Router": "移除路由器",
|
||||||
"Rename": "重命名",
|
"Rename": "重命名",
|
||||||
"Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.": "重命名是把当前文件复制到新文件地址,并删除当前文件,会影响文件的创建时间。",
|
"Rename is to copy the current file to the new file address and delete the current file, which will affect the creation time of the file.": "重命名是把当前文件复制到新文件地址,并删除当前文件,会影响文件的创建时间。",
|
||||||
|
"Replication Change": "复制更改中",
|
||||||
"Republic Of The Congo": "刚果共和国",
|
"Republic Of The Congo": "刚果共和国",
|
||||||
"Request ID": "请求ID",
|
"Request ID": "请求ID",
|
||||||
"Require": "强制",
|
"Require": "强制",
|
||||||
@@ -1674,6 +1690,7 @@
|
|||||||
"Revert Resize or Migrate": "回滚修改配置/迁移",
|
"Revert Resize or Migrate": "回滚修改配置/迁移",
|
||||||
"Revert Resize/Migrate": "回滚修改配置/迁移",
|
"Revert Resize/Migrate": "回滚修改配置/迁移",
|
||||||
"Reverting": "恢复中",
|
"Reverting": "恢复中",
|
||||||
|
"Reverting Error": "恢复失败",
|
||||||
"Reverting Resize or Migrate": "正在回滚修改配置/迁移",
|
"Reverting Resize or Migrate": "正在回滚修改配置/迁移",
|
||||||
"Role": "角色",
|
"Role": "角色",
|
||||||
"Role Detail": "角色详情",
|
"Role Detail": "角色详情",
|
||||||
@@ -1753,6 +1770,11 @@
|
|||||||
"Share File Storage": "文件存储",
|
"Share File Storage": "文件存储",
|
||||||
"Share Group Type": "共享组类型",
|
"Share Group Type": "共享组类型",
|
||||||
"Share Group Type Detail": "共享组类型详情",
|
"Share Group Type Detail": "共享组类型详情",
|
||||||
|
"Share Id": "共享ID",
|
||||||
|
"Share Instance": "共享实例",
|
||||||
|
"Share Instance Detail": "共享实例详情",
|
||||||
|
"Share Network": "共享网络",
|
||||||
|
"Share Server": "共享服务器",
|
||||||
"Share Type": "共享类型",
|
"Share Type": "共享类型",
|
||||||
"Share Type Detail": "共享类型详情",
|
"Share Type Detail": "共享类型详情",
|
||||||
"Shared": "共享",
|
"Shared": "共享",
|
||||||
@@ -1770,6 +1792,9 @@
|
|||||||
"Show All Domain": "展开所有域",
|
"Show All Domain": "展开所有域",
|
||||||
"Show Instance": "展示云主机",
|
"Show Instance": "展示云主机",
|
||||||
"Show all Data": "展开所有数据",
|
"Show all Data": "展开所有数据",
|
||||||
|
"Shrinking": "缩容中",
|
||||||
|
"Shrinking Error": "缩容失败",
|
||||||
|
"Shrinking Possible Data Loss Error": "由数据丢失导致的缩容失败",
|
||||||
"Shut Down": "关闭",
|
"Shut Down": "关闭",
|
||||||
"Shut Off": "关闭",
|
"Shut Off": "关闭",
|
||||||
"Shutoff": "关闭",
|
"Shutoff": "关闭",
|
||||||
@@ -1884,6 +1909,7 @@
|
|||||||
"Switch Language": "切换语言",
|
"Switch Language": "切换语言",
|
||||||
"Switch Project": "切换项目",
|
"Switch Project": "切换项目",
|
||||||
"Switzerland": "瑞士",
|
"Switzerland": "瑞士",
|
||||||
|
"Syncing": "同步中",
|
||||||
"Syrian Arab Republic": "叙利亚",
|
"Syrian Arab Republic": "叙利亚",
|
||||||
"System": "系统",
|
"System": "系统",
|
||||||
"System Admin": "系统管理权限",
|
"System Admin": "系统管理权限",
|
||||||
@@ -2057,6 +2083,9 @@
|
|||||||
"Unlimit": "无限制",
|
"Unlimit": "无限制",
|
||||||
"Unlock": "解锁",
|
"Unlock": "解锁",
|
||||||
"Unlock Instance": "解锁云主机",
|
"Unlock Instance": "解锁云主机",
|
||||||
|
"Unmanage Error": "取消管理出错",
|
||||||
|
"Unmanage Starting": "取消管理已开始",
|
||||||
|
"Unmanaged": "已取消管理",
|
||||||
"Unpause": "恢复",
|
"Unpause": "恢复",
|
||||||
"Unpause Instance": "恢复云主机",
|
"Unpause Instance": "恢复云主机",
|
||||||
"Unrescuing": "",
|
"Unrescuing": "",
|
||||||
@@ -2405,6 +2434,8 @@
|
|||||||
"services": "服务",
|
"services": "服务",
|
||||||
"settings": "配置",
|
"settings": "配置",
|
||||||
"share group type": "共享组类型",
|
"share group type": "共享组类型",
|
||||||
|
"share instance": "共享实例",
|
||||||
|
"share instances": "共享实例",
|
||||||
"share type": "共享类型",
|
"share type": "共享类型",
|
||||||
"share types": "共享类型",
|
"share types": "共享类型",
|
||||||
"shelve instance": "归档云主机",
|
"shelve instance": "归档云主机",
|
||||||
|
110
src/pages/share/containers/ShareInstance/Detail/BaseDetail.jsx
Normal file
110
src/pages/share/containers/ShareInstance/Detail/BaseDetail.jsx
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
// Copyright 2021 99cloud
|
||||||
|
//
|
||||||
|
// Licensed 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.
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
import { inject, observer } from 'mobx-react';
|
||||||
|
import Base from 'containers/BaseDetail';
|
||||||
|
import { accessRuleStatus } from 'resources/share';
|
||||||
|
import { getYesNo } from 'utils/index';
|
||||||
|
|
||||||
|
export class BaseDetail extends Base {
|
||||||
|
get leftCards() {
|
||||||
|
return [this.baseInfoCard];
|
||||||
|
}
|
||||||
|
|
||||||
|
get rightCards() {
|
||||||
|
return [this.exportLocations];
|
||||||
|
}
|
||||||
|
|
||||||
|
get baseInfoCard() {
|
||||||
|
const options = [
|
||||||
|
{
|
||||||
|
label: t('Host'),
|
||||||
|
dataIndex: 'host',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Availability Zone'),
|
||||||
|
dataIndex: 'availability_zone',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Share Network'),
|
||||||
|
dataIndex: 'share_network_id',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Share Server'),
|
||||||
|
dataIndex: 'share_server_id',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Share Id'),
|
||||||
|
dataIndex: 'share_id',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Access Rules Status'),
|
||||||
|
dataIndex: 'access_rules_status',
|
||||||
|
render: (value) => accessRuleStatus[value] || value,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Progress'),
|
||||||
|
dataIndex: 'progress',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: t('Cast Rules To Read Only'),
|
||||||
|
dataIndex: 'cast_rules_to_readonly',
|
||||||
|
valueRender: 'yesNo',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
return {
|
||||||
|
title: t('Base Info'),
|
||||||
|
options,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
get exportLocations() {
|
||||||
|
const { exportLocations = [] } = this.detailData || {};
|
||||||
|
const options = exportLocations.map((location, index) => {
|
||||||
|
return {
|
||||||
|
label: `${t('Export Location')} ${index + 1}`,
|
||||||
|
dataIndex: 'exportLocations',
|
||||||
|
render: () => {
|
||||||
|
return (
|
||||||
|
<div key={location.id}>
|
||||||
|
<div>
|
||||||
|
<span style={{ fontWeight: 'bold' }}>{t('Path')}: </span>
|
||||||
|
{location.path}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span style={{ fontWeight: 'bold' }}>{t('Preferred')}: </span>
|
||||||
|
{getYesNo(location.preferred)}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span style={{ fontWeight: 'bold' }}>
|
||||||
|
{t('Is admin only')}:
|
||||||
|
</span>
|
||||||
|
{getYesNo(location.is_admin_only)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
title: t('Export Locations'),
|
||||||
|
options,
|
||||||
|
labelCol: 4,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default inject('rootStore')(observer(BaseDetail));
|
73
src/pages/share/containers/ShareInstance/Detail/index.jsx
Normal file
73
src/pages/share/containers/ShareInstance/Detail/index.jsx
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
// Copyright 2021 99cloud
|
||||||
|
//
|
||||||
|
// Licensed 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.
|
||||||
|
|
||||||
|
import { inject, observer } from 'mobx-react';
|
||||||
|
import { ShareInstanceStore } from 'stores/manila/share-instance';
|
||||||
|
import Base from 'containers/TabDetail';
|
||||||
|
import { shareStatus } from 'resources/share';
|
||||||
|
import BaseDetail from './BaseDetail';
|
||||||
|
|
||||||
|
export class Detail extends Base {
|
||||||
|
get name() {
|
||||||
|
return t('share instance');
|
||||||
|
}
|
||||||
|
|
||||||
|
get policy() {
|
||||||
|
return 'manila:share_instance:show';
|
||||||
|
}
|
||||||
|
|
||||||
|
get listUrl() {
|
||||||
|
return this.getRoutePath('shareInstance');
|
||||||
|
}
|
||||||
|
|
||||||
|
get detailInfos() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
title: t('Host'),
|
||||||
|
dataIndex: 'host',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Status'),
|
||||||
|
dataIndex: 'status',
|
||||||
|
render: (value) => shareStatus[value] || value,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Created'),
|
||||||
|
dataIndex: 'created_at',
|
||||||
|
valueRender: 'toLocalTime',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Updated'),
|
||||||
|
dataIndex: 'updated_at',
|
||||||
|
valueRender: 'toLocalTime',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
get tabs() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
title: t('Base Info'),
|
||||||
|
key: 'baseInfo',
|
||||||
|
component: BaseDetail,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
this.store = new ShareInstanceStore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default inject('rootStore')(observer(Detail));
|
73
src/pages/share/containers/ShareInstance/index.jsx
Normal file
73
src/pages/share/containers/ShareInstance/index.jsx
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
// Copyright 2021 99cloud
|
||||||
|
//
|
||||||
|
// Licensed 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.
|
||||||
|
|
||||||
|
import { observer, inject } from 'mobx-react';
|
||||||
|
import Base from 'containers/List';
|
||||||
|
import globalShareInstanceStore from '@/stores/manila/share-instance';
|
||||||
|
import { shareStatus } from 'resources/share';
|
||||||
|
|
||||||
|
export class ShareInstance extends Base {
|
||||||
|
init() {
|
||||||
|
this.store = globalShareInstanceStore;
|
||||||
|
}
|
||||||
|
|
||||||
|
get policy() {
|
||||||
|
return 'manila:share_instance:index';
|
||||||
|
}
|
||||||
|
|
||||||
|
get name() {
|
||||||
|
return t('share instances');
|
||||||
|
}
|
||||||
|
|
||||||
|
get fetchDataByAllProjects() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
getColumns = () => [
|
||||||
|
{
|
||||||
|
title: t('ID'),
|
||||||
|
dataIndex: 'id',
|
||||||
|
routeName: 'shareInstanceDetailAdmin',
|
||||||
|
isLink: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Host'),
|
||||||
|
dataIndex: 'host',
|
||||||
|
isHideable: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Status'),
|
||||||
|
dataIndex: 'status',
|
||||||
|
render: (value) => shareStatus[value] || value,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Availability Zone'),
|
||||||
|
dataIndex: 'availability_zone',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Share Network'),
|
||||||
|
dataIndex: 'share_network_id',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Share Server'),
|
||||||
|
dataIndex: 'share_server_id',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: t('Share Id'),
|
||||||
|
dataIndex: 'share_id',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
export default inject('rootStore')(observer(ShareInstance));
|
@@ -18,6 +18,8 @@ import ShareType from '../containers/ShareType';
|
|||||||
import ShareTypeDetail from '../containers/ShareType/Detail';
|
import ShareTypeDetail from '../containers/ShareType/Detail';
|
||||||
import ShareGroupType from '../containers/ShareGroupType';
|
import ShareGroupType from '../containers/ShareGroupType';
|
||||||
import ShareGroupTypeDetail from '../containers/ShareGroupType/Detail';
|
import ShareGroupTypeDetail from '../containers/ShareGroupType/Detail';
|
||||||
|
import ShareInstance from '../containers/ShareInstance';
|
||||||
|
import ShareInstanceDetail from '../containers/ShareInstance/Detail';
|
||||||
|
|
||||||
const PATH = '/share';
|
const PATH = '/share';
|
||||||
export default [
|
export default [
|
||||||
@@ -41,6 +43,16 @@ export default [
|
|||||||
component: ShareGroupTypeDetail,
|
component: ShareGroupTypeDetail,
|
||||||
exact: true,
|
exact: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: `${PATH}/share-instance-admin`,
|
||||||
|
component: ShareInstance,
|
||||||
|
exact: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: `${PATH}/share-instance-admin/detail/:id`,
|
||||||
|
component: ShareInstanceDetail,
|
||||||
|
exact: true,
|
||||||
|
},
|
||||||
{ path: '*', component: E404 },
|
{ path: '*', component: E404 },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
38
src/resources/share.js
Normal file
38
src/resources/share.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
export const shareStatus = {
|
||||||
|
creating: t('Creating'),
|
||||||
|
creating_from_snapshot: t('Creating From Snapshot'),
|
||||||
|
deleting: t('Deleting'),
|
||||||
|
deleted: t('Deleted'),
|
||||||
|
error: t('Error'),
|
||||||
|
error_deleting: t('Error Deleting'),
|
||||||
|
available: t('Available'),
|
||||||
|
inactive: t('Inactive'),
|
||||||
|
manage_starting: t('Manage Starting'),
|
||||||
|
manage_error: t('Manage Error'),
|
||||||
|
unmanage_starting: t('Unmanage Starting'),
|
||||||
|
unmanage_error: t('Unmanage Error'),
|
||||||
|
unmanaged: t('Unmanaged'),
|
||||||
|
extending: t('Extending'),
|
||||||
|
extending_error: t('Extending Error'),
|
||||||
|
shrinking: t('Shrinking'),
|
||||||
|
shrinking_error: t('Shrinking Error'),
|
||||||
|
shrinking_possible_data_loss_error: t('Shrinking Possible Data Loss Error'),
|
||||||
|
migrating: t('Migrating'),
|
||||||
|
migrating_to: t('Migrating To'),
|
||||||
|
replication_change: t('Replication Change'),
|
||||||
|
reverting: t('Reverting'),
|
||||||
|
reverting_error: t('Reverting Error'),
|
||||||
|
};
|
||||||
|
|
||||||
|
export const accessRuleStatus = {
|
||||||
|
active: t('Active'),
|
||||||
|
error: t('Error'),
|
||||||
|
syncing: t('Syncing'),
|
||||||
|
};
|
||||||
|
|
||||||
|
export const replicaState = {
|
||||||
|
active: t('Active'),
|
||||||
|
error: t('Error'),
|
||||||
|
in_sync: t('Syncing'),
|
||||||
|
out_of_sync: t('Out of Sync'),
|
||||||
|
};
|
38
src/stores/manila/share-instance.js
Normal file
38
src/stores/manila/share-instance.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
// Copyright 2021 99cloud
|
||||||
|
//
|
||||||
|
// Licensed 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.
|
||||||
|
|
||||||
|
import client from 'client';
|
||||||
|
import Base from 'stores/base';
|
||||||
|
|
||||||
|
export class ShareInstanceStore extends Base {
|
||||||
|
get client() {
|
||||||
|
return client.manila.shareInstances;
|
||||||
|
}
|
||||||
|
|
||||||
|
get paramsFunc() {
|
||||||
|
return (params) => params;
|
||||||
|
}
|
||||||
|
|
||||||
|
async detailDidFetch(item) {
|
||||||
|
const { id } = item || {};
|
||||||
|
const { export_locations = [] } = await this.client.exportLocations.list(
|
||||||
|
id
|
||||||
|
);
|
||||||
|
item.exportLocations = export_locations;
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const globalShareInstanceStore = new ShareInstanceStore();
|
||||||
|
export default globalShareInstanceStore;
|
Reference in New Issue
Block a user