\n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Button, FormLayout, Grid, InputBox } from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Webhook } from \"@mui/icons-material\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport {\n configurationIsLoading,\n setErrorSnackMessage,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { LinearProgress } from \"@mui/material\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\n\ninterface IEndpointModal {\n open: boolean;\n type: string;\n onCloseEndpoint: () => void;\n}\n\nconst AddEndpointModal = ({ open, type, onCloseEndpoint }: IEndpointModal) => {\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [authToken, setAuthToken] = useState(\"\");\n const [saving, setSaving] = useState(false);\n const [invalidInputs, setInvalidInput] = useState([\n \"name\",\n \"endpoint\",\n ]);\n const [initialInputs, setInitialInputs] = useState([\n \"name\",\n \"endpoint\",\n \"auth-token\",\n ]);\n\n const dispatch = useAppDispatch();\n\n const saveWebhook = () => {\n if (saving) {\n return;\n }\n\n if (invalidInputs.length !== 0) {\n return;\n }\n\n if (name.trim() === \"\") {\n setInvalidInput([...invalidInputs, \"name\"]);\n\n return;\n }\n\n if (endpoint.trim() === \"\") {\n setInvalidInput([...invalidInputs, \"endpoint\"]);\n\n return;\n }\n\n setSaving(true);\n\n const payload = {\n key_values: [\n {\n key: \"endpoint\",\n value: endpoint,\n },\n {\n key: \"auth_token\",\n value: authToken,\n },\n ],\n arn_resource_id: name,\n };\n\n api.configs\n .setConfig(type, payload)\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n\n onCloseEndpoint();\n dispatch(configurationIsLoading(true));\n })\n .catch((err) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const initializeInput = (name: string) => {\n setInitialInputs(initialInputs.filter((item) => item !== name));\n };\n\n const validateInput = (name: string, valid: boolean) => {\n if (invalidInputs.includes(name) && valid) {\n setInvalidInput(invalidInputs.filter((item) => item !== name));\n return;\n }\n\n if (!valid && !invalidInputs.includes(name)) {\n setInvalidInput([...invalidInputs, name]);\n }\n };\n\n let title = \"Add new Webhook\";\n let icon = ;\n\n switch (type) {\n case \"logger_webhook\":\n title = \"New Logger Webhook\";\n icon = ;\n break;\n case \"audit_webhook\":\n title = \"New Audit Webhook\";\n icon = ;\n break;\n }\n\n return (\n \n \n \n ) => {\n initializeInput(\"name\");\n setName(event.target.value);\n validateInput(\"name\", event.target.validity.valid);\n }}\n error={\n invalidInputs.includes(\"name\") && !initialInputs.includes(\"name\")\n ? \"Invalid Name\"\n : \"\"\n }\n label=\"Name\"\n value={name}\n pattern={\"^(?=.*[a-zA-Z0-9]).{1,}$\"}\n required\n />\n ) => {\n initializeInput(\"endpoint\");\n setEndpoint(event.target.value);\n validateInput(\"endpoint\", event.target.validity.valid);\n }}\n error={\n invalidInputs.includes(\"endpoint\") &&\n !initialInputs.includes(\"endpoint\")\n ? \"Invalid Endpoint set\"\n : \"\"\n }\n label=\"Endpoint\"\n value={endpoint}\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?(\\\\/[a-zA-Z0-9\\\\-.\\\\/]*)?$\"\n }\n required\n />\n ) => {\n initializeInput(\"auth-token\");\n setAuthToken(event.target.value);\n }}\n label=\"Auth Token\"\n value={authToken}\n />\n \n {saving && (\n \n \n \n )}\n \n \n \n \n \n \n );\n};\n\nexport default AddEndpointModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport {\n configurationIsLoading,\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IDeleteWebhookEndpoint {\n modalOpen: boolean;\n onClose: () => void;\n selectedARN: string;\n type: string;\n}\n\nconst DeleteWebhookEndpoint = ({\n modalOpen,\n onClose,\n selectedARN,\n}: IDeleteWebhookEndpoint) => {\n const [deleteLoading, setDeleteLoading] = useState(false);\n\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n if (deleteLoading) {\n api.configs\n .resetConfig(selectedARN)\n .then(() => {\n setDeleteLoading(false);\n dispatch(setServerNeedsRestart(true));\n dispatch(configurationIsLoading(true));\n onClose();\n })\n .catch((err) => {\n setDeleteLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [deleteLoading, dispatch, onClose, selectedARN]);\n\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n const defaultWH = !selectedARN.includes(\":\");\n\n let message = \"Are you sure you want to delete the Configured Endpoint\";\n\n // Main webhook, we just reset\n if (defaultWH) {\n message = \"Are you sure you want to reset the Default\";\n }\n\n return (\n }\n onClose={onClose}\n confirmationContent={\n \n {`${message} `}\n {selectedARN}?\n \n }\n />\n );\n};\n\nexport default DeleteWebhookEndpoint;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Button, ConsoleIcon, Grid, Tooltip } from \"mds\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Webhook } from \"@mui/icons-material\";\nimport { formFieldStyles } from \"../../Common/FormComponents/common/styleLibrary\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport {\n configurationIsLoading,\n setErrorSnackMessage,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { LinearProgress } from \"@mui/material\";\nimport { IConfigurationSys } from \"../../Configurations/types\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { overrideFields } from \"../../Configurations/utils\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IEndpointModal {\n open: boolean;\n type: string;\n endpointInfo: IConfigurationSys;\n onCloseEndpoint: () => void;\n}\n\nconst EditEndpointModal = ({\n open,\n type,\n endpointInfo,\n onCloseEndpoint,\n}: IEndpointModal) => {\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [authToken, setAuthToken] = useState(\"\");\n const [endpointState, setEndpointState] = useState(\"on\");\n const [saving, setSaving] = useState(false);\n const [invalidInputs, setInvalidInput] = useState([]);\n\n const dispatch = useAppDispatch();\n\n useEffect(() => {\n if (endpointInfo) {\n const endpointLocate = endpointInfo.key_values.find(\n (key) => key.key === \"endpoint\",\n );\n const tokenLocate = endpointInfo.key_values.find(\n (key) => key.key === \"auth_token\",\n );\n const enable = endpointInfo.key_values.find(\n (key) => key.key === \"enable\",\n );\n\n let invalidInputs: string[] = [];\n\n if (endpointLocate) {\n const endpointValue = endpointLocate.value;\n\n if (endpointValue === \"\") {\n invalidInputs.push(\"endpoint\");\n } else {\n setEndpoint(endpointValue);\n }\n }\n\n if (tokenLocate) {\n const tokenValue = tokenLocate.value;\n\n if (tokenValue === \"\") {\n invalidInputs.push(\"auth-token\");\n } else {\n setAuthToken(tokenValue);\n }\n }\n\n if (enable) {\n if (enable.value === \"off\") {\n setEndpointState(enable.value);\n }\n }\n\n setName(endpointInfo.name || \"\");\n setInvalidInput(invalidInputs);\n }\n }, [endpointInfo]);\n\n const updateWebhook = () => {\n if (saving) {\n return;\n }\n\n if (invalidInputs.length !== 0) {\n return;\n }\n\n if (!endpoint || endpoint.trim() === \"\") {\n setInvalidInput([...invalidInputs, \"endpoint\"]);\n\n return;\n }\n\n setSaving(true);\n\n const payload = {\n key_values: [\n {\n key: \"endpoint\",\n value: endpoint,\n },\n {\n key: \"auth_token\",\n value: authToken,\n },\n {\n key: \"enable\",\n value: endpointState,\n },\n ],\n };\n\n api.configs\n .setConfig(name, payload)\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n\n onCloseEndpoint();\n dispatch(configurationIsLoading(true));\n })\n .catch((err) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n const validateInput = (name: string, valid: boolean) => {\n if (invalidInputs.includes(name) && valid) {\n setInvalidInput(invalidInputs.filter((item) => item !== name));\n return;\n }\n\n if (!valid && !invalidInputs.includes(name)) {\n setInvalidInput([...invalidInputs, name]);\n }\n };\n\n const defaultWH = !name.includes(\":\");\n const hasOverride = endpointInfo.key_values.filter(\n (itm) => !!itm.env_override,\n );\n\n const overrideValues = overrideFields(hasOverride);\n\n let title = \"Edit Webhook\";\n let icon = ;\n\n switch (type) {\n case \"logger_webhook\":\n title = `Edit ${defaultWH ? \" the Default \" : \"\"}Logger Webhook`;\n icon = ;\n break;\n case \"audit_webhook\":\n title = `Edit ${defaultWH ? \" the Default \" : \"\"}Audit Webhook`;\n icon = ;\n break;\n }\n\n if (hasOverride.length > 0) {\n title = \"View env variable Webhook\";\n }\n\n return (\n \n \n {hasOverride.length > 0 ? (\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n \n \n }\n />\n \n \n \n \n \n \n \n }\n />\n \n \n ) : (\n \n \n ) => {\n const value = e.target.checked ? \"on\" : \"off\";\n setEndpointState(value);\n }}\n id={\"endpoint_enabled\"}\n name={\"endpoint_enabled\"}\n label={\"Enabled\"}\n value={\"switch_on\"}\n checked={endpointState === \"on\"}\n />\n \n \n ) => {\n setEndpoint(event.target.value);\n validateInput(\"endpoint\", event.target.validity.valid);\n }}\n error={\n invalidInputs.includes(\"endpoint\")\n ? \"Invalid Endpoint set\"\n : \"\"\n }\n label=\"Endpoint\"\n value={endpoint}\n pattern={\n \"^(https?):\\\\/\\\\/([a-zA-Z0-9\\\\-.]+)(:[0-9]+)?(\\\\/[a-zA-Z0-9\\\\-.\\\\/]*)?$\"\n }\n required\n />\n \n \n ) => {\n setAuthToken(event.target.value);\n }}\n label=\"Auth Token\"\n value={authToken}\n />\n \n {saving && (\n \n \n \n )}\n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default EditEndpointModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { IConfigurationSys, IElementValue } from \"../../Configurations/types\";\nimport {\n Button,\n ConsoleIcon,\n DataTable,\n Grid,\n TierOfflineIcon,\n TierOnlineIcon,\n} from \"mds\";\nimport AddEndpointModal from \"./AddEndpointModal\";\nimport DeleteWebhookEndpoint from \"./DeleteWebhookEndpoint\";\nimport EditWebhookEndpoint from \"./EditWebhookEndpoint\";\nimport { Configuration } from \"api/consoleApi\";\n\ninterface WebhookSettingsProps {\n WebhookSettingslist: Configuration[];\n setResetConfigurationOpen: () => void;\n type: string;\n}\n\nconst WebhookSettings = ({\n setResetConfigurationOpen,\n WebhookSettingslist,\n type,\n}: WebhookSettingsProps) => {\n const [newEndpointOpen, setNewEndpointOpen] = useState(false);\n const [deleteWebhookOpen, setDeleteWebhookOpen] = useState(false);\n const [editWebhookOpen, setEditWebhookOpen] = useState(false);\n const [selectedARN, setSelectedARN] = useState(\"\");\n const [selectedEndpoint, setSelectedEndpoint] =\n useState(null);\n\n const renderEndpoint = (item: IElementValue[]) => {\n const endpointFilter = item.find((itm) => itm.key === \"endpoint\");\n\n if (endpointFilter) {\n if (endpointFilter.env_override) {\n return endpointFilter.env_override.value;\n }\n\n return endpointFilter.value;\n }\n\n return \"\";\n };\n\n const renderWebhookStatus = (item: IElementValue[]) => {\n const EnableFilter = item.find((itm) => itm.key === \"enable\");\n\n if (EnableFilter?.env_override) {\n const overrideEnabled =\n !EnableFilter?.env_override.value ||\n EnableFilter?.env_override.value === \"on\" ||\n !EnableFilter?.env_override.value\n ? \"Enabled\"\n : \"Disabled\";\n return (\n \n \n {overrideEnabled ? \"Enabled\" : \"Disabled\"}\n \n );\n }\n\n // If enable is not set, then enabled by default\n if (!EnableFilter || EnableFilter.value === \"on\" || !EnableFilter.value) {\n return (\n \n \n Enabled\n \n );\n }\n\n return (\n \n \n Disabled\n \n );\n };\n\n const onCloseDelete = () => {\n setDeleteWebhookOpen(false);\n setSelectedARN(\"\");\n };\n\n const onCloseEditWebhook = () => {\n setEditWebhookOpen(false);\n setSelectedEndpoint(null);\n };\n\n const actions = [\n {\n type: \"view\",\n onClick: (item: IConfigurationSys) => {\n if (item.name) {\n setEditWebhookOpen(true);\n setSelectedEndpoint(item);\n }\n },\n },\n {\n type: \"delete\",\n onClick: (item: IConfigurationSys) => {\n if (item.name) {\n setDeleteWebhookOpen(true);\n setSelectedARN(item.name);\n }\n },\n disableButtonFunction: (item: string) => {\n const wHook = WebhookSettingslist.find(\n (element) => element.name === item,\n );\n\n if (wHook) {\n const hasOverride = wHook.key_values?.filter(\n (itm) => !!itm.env_override,\n );\n\n // Has override values, we cannot delete.\n if (hasOverride && hasOverride.length > 0) {\n return true;\n }\n\n return false;\n }\n return false;\n },\n },\n ];\n return (\n \n {newEndpointOpen && (\n {\n setNewEndpointOpen(false);\n }}\n />\n )}\n {deleteWebhookOpen && (\n \n )}\n {editWebhookOpen && selectedEndpoint && (\n \n )}\n \n \n \n \n \n
Currently Configured Endpoints
\n \n \n \n \n );\n};\nexport default WebhookSettings;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, Grid, Loader } from \"mds\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { Configuration, ConfigurationKV } from \"api/consoleApi\";\nimport { errorToHandler } from \"api/errors\";\nimport {\n fieldsConfigurations,\n overrideFields,\n removeEmptyFields,\n} from \"../../Configurations/utils\";\nimport {\n IConfigurationElement,\n IElementValue,\n IOverrideEnv,\n KVField,\n} from \"../../Configurations/types\";\nimport {\n configurationIsLoading,\n setErrorSnackMessage,\n setHelpName,\n setServerNeedsRestart,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport WebhookSettings from \"../WebhookSettings/WebhookSettings\";\nimport ConfTargetGeneric from \"../ConfTargetGeneric\";\nimport ResetConfigurationModal from \"./ResetConfigurationModal\";\n\ninterface IAddNotificationEndpointProps {\n selectedConfiguration: IConfigurationElement;\n className?: string;\n}\n\nconst EditConfiguration = ({\n selectedConfiguration,\n className = \"\",\n}: IAddNotificationEndpointProps) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { pathname = \"\" } = useLocation();\n\n let selConfigTab = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n //Local States\n const [valuesObj, setValueObj] = useState([]);\n const [saving, setSaving] = useState(false);\n const [configValues, setConfigValues] = useState([]);\n const [configSubsysList, setConfigSubsysList] = useState([]);\n const [resetConfigurationOpen, setResetConfigurationOpen] =\n useState(false);\n const [overrideEnvs, setOverrideEnvs] = useState({});\n\n const loadingConfig = useSelector(\n (state: AppState) => state.system.loadingConfigurations,\n );\n\n useEffect(() => {\n dispatch(configurationIsLoading(true));\n }, [selConfigTab, dispatch]);\n\n useEffect(() => {\n if (loadingConfig) {\n const configId = get(selectedConfiguration, \"configuration_id\", false);\n\n if (configId) {\n api.configs\n .configInfo(configId)\n .then((res) => {\n setConfigSubsysList(res.data);\n let values: ConfigurationKV[] = get(res.data[0], \"key_values\", []);\n\n const fieldsConfig: KVField[] = fieldsConfigurations[configId];\n\n const keyVals = fieldsConfig.map((field) => {\n const includedValue = values.find(\n (element: ConfigurationKV) => element.key === field.name,\n );\n const customValue = includedValue?.value || \"\";\n\n return {\n key: field.name,\n value: field.customValueProcess\n ? field.customValueProcess(customValue)\n : customValue,\n };\n });\n\n setConfigValues(keyVals);\n setOverrideEnvs(overrideFields(keyVals));\n dispatch(configurationIsLoading(false));\n })\n .catch((err) => {\n dispatch(configurationIsLoading(false));\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n\n return;\n }\n dispatch(configurationIsLoading(false));\n }\n }, [loadingConfig, selectedConfiguration, dispatch]);\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesObj),\n };\n api.configs\n .setConfig(selectedConfiguration.configuration_id, payload)\n .then((res) => {\n setSaving(false);\n dispatch(setServerNeedsRestart(res.data.restart || false));\n dispatch(configurationIsLoading(true));\n if (!res.data.restart) {\n dispatch(setSnackBarMessage(\"Configuration saved successfully\"));\n }\n })\n .catch((err) => {\n setSaving(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [saving, dispatch, selectedConfiguration, valuesObj, navigate]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue: IElementValue[]) => {\n setValueObj(newValue);\n },\n [setValueObj],\n );\n\n const continueReset = (restart: boolean) => {\n setResetConfigurationOpen(false);\n dispatch(setServerNeedsRestart(restart));\n if (restart) {\n dispatch(configurationIsLoading(true));\n }\n };\n\n const resetConfigurationMOpen = () => {\n setResetConfigurationOpen(true);\n };\n\n return (\n \n
\n \n );\n};\n\nexport default EditConfiguration;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { Grid } from \"mds\";\nimport { configurationElements } from \"../utils\";\nimport EditConfiguration from \"../../EventDestinations/CustomForms/EditConfiguration\";\n\nconst ConfigurationsList = () => {\n const { pathname = \"\" } = useLocation();\n\n const configName = pathname.substring(pathname.lastIndexOf(\"/\") + 1);\n\n const validActiveConfig = configurationElements.find(\n (element) => element.configuration_id === configName,\n );\n const containerClassName = `${configName}`;\n return (\n \n {validActiveConfig && (\n \n )}\n \n );\n};\n\nexport default ConfigurationsList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button, UploadIcon } from \"mds\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport { performDownload } from \"../../../../common/utils\";\nimport { DateTime } from \"luxon\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useDispatch } from \"react-redux\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst ExportConfigButton = () => {\n const dispatch = useDispatch();\n const [isReqLoading, invokeApi] = useApi(\n (res: any) => {\n //base64 encoded information so decode before downloading.\n performDownload(\n new Blob([window.atob(res.value)]),\n `minio-server-config-${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}.conf`,\n );\n },\n (err) => {\n dispatch(setErrorSnackMessage(err));\n },\n );\n\n return (\n \n \n );\n};\n\nexport default ExportConfigButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useRef, useState } from \"react\";\nimport { Button, DownloadIcon } from \"mds\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport {\n setErrorSnackMessage,\n setServerNeedsRestart,\n} from \"../../../../systemSlice\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useNavigate } from \"react-router-dom\";\nimport { AppState } from \"../../../../store\";\n\nconst ImportConfigButton = () => {\n const navigate = useNavigate();\n const dispatch = useDispatch();\n\n const needsRestart = useSelector(\n (state: AppState) => state.system.serverNeedsRestart,\n );\n\n const [refreshPage, setRefreshPage] = useState(\n undefined,\n );\n const fileUpload = useRef(null);\n\n const [isReqLoading, invokeApi] = useApi(\n (res: any) => {\n //base64 encoded information so decode before downloading.\n dispatch(setServerNeedsRestart(true)); //import should refreshPage as per mc.\n setRefreshPage(true);\n },\n (err) => {\n dispatch(setErrorSnackMessage(err));\n },\n );\n\n useEffect(() => {\n if (!needsRestart && refreshPage) {\n navigate(0); // refresh the page.\n }\n }, [needsRestart, refreshPage, navigate]);\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n const [fileToUpload] = e.target.files;\n\n const formData = new FormData();\n const blobFile = new Blob([fileToUpload], { type: fileToUpload.type });\n\n formData.append(\"file\", blobFile, fileToUpload.name);\n // @ts-ignore\n invokeApi(\"POST\", `api/v1/configs/import`, formData);\n\n e.target.value = \"\";\n };\n\n return (\n \n \n \n \n \n );\n};\n\nexport default ImportConfigButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport {\n Box,\n Grid,\n HelpBox,\n PageLayout,\n ScreenTitle,\n SettingsIcon,\n Tabs,\n} from \"mds\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n Navigate,\n Route,\n Routes,\n useLocation,\n useNavigate,\n} from \"react-router-dom\";\n\nimport ConfigurationForm from \"./ConfigurationForm\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport ExportConfigButton from \"./ExportConfigButton\";\nimport ImportConfigButton from \"./ImportConfigButton\";\n\nimport HelpMenu from \"../../HelpMenu\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport { api } from \"../../../../api\";\nimport { IElement } from \"../types\";\nimport { errorToHandler } from \"../../../../api/errors\";\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\n// region is not part of config subsystem list.\nconst NON_SUB_SYS_CONFIG_ITEMS = [\"region\"];\nconst IGNORED_CONFIG_SUB_SYS = [\"cache\"]; // cache config is not supported.\n\nconst ConfigurationOptions = () => {\n const { pathname = \"\" } = useLocation();\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const [configSubSysList, setConfigSubSysList] = useState([]);\n const fetchConfigSubSysList = useCallback(async () => {\n api.configs\n .listConfig() // get a list of available config subsystems.\n .then((res) => {\n if (res && res?.data && res?.data?.configurations) {\n const confSubSysList = (res?.data?.configurations || []).reduce(\n (acc: string[], { key = \"\" }) => {\n if (!IGNORED_CONFIG_SUB_SYS.includes(key)) {\n acc.push(key);\n }\n return acc;\n },\n [],\n );\n\n setConfigSubSysList(confSubSysList);\n }\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err)));\n });\n }, [dispatch]);\n\n useEffect(() => {\n fetchConfigSubSysList();\n dispatch(setHelpName(\"settings_Region\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const availableConfigSubSys = configurationElements.filter(\n ({ configuration_id }: IElement) => {\n return (\n NON_SUB_SYS_CONFIG_ITEMS.includes(configuration_id) ||\n configSubSysList.includes(configuration_id) ||\n !configSubSysList.length\n );\n },\n );\n\n return (\n \n } />\n \n \n }\n title={\"MinIO Configuration:\"}\n actions={\n \n \n \n \n }\n sx={{ marginBottom: 15 }}\n />\n {\n navigate(path);\n }}\n useRouteTabs\n options={availableConfigSubSys.map((element) => {\n const { configuration_id, configuration_label, icon } = element;\n return {\n tabConfig: {\n id: `settings-tab-${configuration_label}`,\n label: configuration_label,\n value: configuration_id,\n icon: icon,\n to: getRoutePath(configuration_id),\n },\n };\n })}\n routes={\n \n {availableConfigSubSys.map((element) => (\n }\n />\n ))}\n }\n />\n \n }\n />\n \n \n }\n help={\n \n MinIO supports a variety of configurations ranging from\n encryption, compression, region, notifications, etc.\n \n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n }\n />\n \n \n \n );\n};\n\nexport default ConfigurationOptions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue, IOverrideEnv, OverrideValue } from \"./types\";\nimport { LogsIcon } from \"mds\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n {\n icon: (\n \n ),\n configuration_id: \"audit_kafka\",\n configuration_label: \"Audit Kafka\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\", \".log\" or \".csv\" - you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\", \"application/json\" or \"application/xml\" - you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"List of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation, e.g. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep Duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation, e.g. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay Multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\" - you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'Namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_kafka: [\n {\n name: \"enable\",\n required: false,\n label: \"Enable\",\n tooltip: \"Enable audit_kafka target\",\n type: \"on|off\",\n customValueProcess: (origValue: string) => {\n return origValue === \"\" || origValue === \"on\" ? \"on\" : \"off\";\n },\n },\n {\n name: \"brokers\",\n required: true,\n label: \"Brokers\",\n type: \"csv\",\n placeholder: \"Enter Kafka Broker\",\n },\n {\n name: \"topic\",\n required: false,\n label: \"Topic\",\n type: \"string\",\n placeholder: \"Enter Kafka Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n },\n {\n name: \"sasl\",\n required: false,\n label: \"Use SASL\",\n tooltip:\n \"Enable SASL (Simple Authentication and Security Layer) authentication\",\n type: \"on|off\",\n },\n {\n name: \"sasl_username\",\n required: false,\n label: \"SASL Username\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n },\n {\n name: \"sasl_password\",\n required: false,\n label: \"SASL Password\",\n type: \"password\",\n placeholder: \"Enter SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n },\n {\n name: \"sasl_mechanism\",\n required: false,\n label: \"SASL Mechanism\",\n type: \"string\",\n placeholder: \"Enter SASL Mechanism\",\n tooltip: \"SASL authentication mechanism\",\n },\n {\n name: \"tls\",\n required: false,\n label: \"Use TLS\",\n tooltip: \"Enable TLS (Transport Layer Security)\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"Skip TLS Verification\",\n tooltip: \"Trust server TLS without verification\",\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_tls_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"tls_client_auth\",\n required: false,\n label: \"TLS Client Auth\",\n tooltip:\n \"ClientAuth determines the Kafka server's policy for TLS client authorization\",\n type: \"string\",\n },\n {\n name: \"version\",\n required: false,\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster\",\n type: \"string\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[],\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n\nexport const overrideFields = (formFields: IElementValue[]): IOverrideEnv => {\n let overrideReturn: IOverrideEnv = {};\n\n formFields.forEach((envItem) => {\n // it has override values, we construct the value\n if (envItem.env_override) {\n const value: OverrideValue = {\n value: envItem.env_override.value,\n overrideEnv: envItem.env_override.name,\n };\n\n overrideReturn = { ...overrideReturn, [envItem.key]: value };\n }\n });\n\n return overrideReturn;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport {\n CommentBox,\n ConsoleIcon,\n FormLayout,\n Grid,\n InputBox,\n ReadBox,\n Switch,\n Tooltip,\n} from \"mds\";\nimport { IElementValue, IOverrideEnv, KVField } from \"../Configurations/types\";\nimport CSVMultiSelector from \"../Common/FormComponents/CSVMultiSelector/CSVMultiSelector\";\n\ninterface IConfGenericProps {\n onChange: (newValue: IElementValue[]) => void;\n fields: KVField[];\n defaultVals?: IElementValue[];\n overrideEnv?: IOverrideEnv;\n}\n\n// Function to get defined values,\n//we make this because the backed sometimes don't return all the keys when there is an initial configuration\nexport const valueDef = (\n key: string,\n type: string,\n defaults: IElementValue[],\n) => {\n let defValue = type === \"on|off\" ? \"off\" : \"\";\n\n if (defaults.length > 0) {\n const storedConfig = defaults.find((element) => element.key === key);\n\n if (storedConfig) {\n defValue = storedConfig.value || \"\";\n }\n }\n\n return defValue;\n};\n\nconst ConfTargetGeneric = ({\n onChange,\n fields,\n defaultVals,\n overrideEnv,\n}: IConfGenericProps) => {\n const [valueHolder, setValueHolder] = useState([]);\n const fieldsElements = !fields ? [] : fields;\n const defValList = !defaultVals ? [] : defaultVals;\n\n // Effect to create all the values to hold\n useEffect(() => {\n const values: IElementValue[] = fields.map((field) => {\n const stateInsert: IElementValue = {\n key: field.name,\n value: valueDef(field.name, field.type, defValList),\n };\n return stateInsert;\n });\n\n setValueHolder(values);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fields, defaultVals]);\n\n useEffect(() => {\n onChange(valueHolder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [valueHolder]);\n\n const setValueElement = (key: string, value: string, index: number) => {\n const valuesDup = [...valueHolder];\n value = value.trim();\n valuesDup[index] = { key, value };\n\n setValueHolder(valuesDup);\n };\n\n const fieldDefinition = (field: KVField, item: number) => {\n const holderItem = valueHolder[item];\n\n if (holderItem) {\n // Override Value with env var, we display generic string component\n const override = overrideEnv?.[`${holderItem.key}`];\n\n if (override) {\n return (\n \n \n \n \n \n }\n sx={{ width: \"100%\" }}\n >\n {override.value}\n \n );\n }\n }\n\n switch (field.type) {\n case \"on|off\":\n const value = holderItem ? holderItem.value : \"off\";\n\n return (\n ) => {\n const value = e.target.checked ? \"on\" : \"off\";\n setValueElement(field.name, value, item);\n }}\n id={field.name}\n name={field.name}\n label={field.label}\n value={\"switch_on\"}\n tooltip={field.tooltip}\n checked={value === \"on\"}\n />\n );\n case \"csv\":\n return (\n {\n let valCh = \"\";\n\n if (Array.isArray(value)) {\n valCh = value.join(\",\");\n } else {\n valCh = value;\n }\n\n setValueElement(field.name, valCh, item);\n }}\n tooltip={field.tooltip}\n commonPlaceholder={field.placeholder}\n withBorder={true}\n />\n );\n case \"comment\":\n return (\n setValueElement(field.name, e.target.value, item)}\n placeholder={field.placeholder}\n />\n );\n default:\n return (\n ) =>\n setValueElement(field.name, e.target.value, item)\n }\n placeholder={field.placeholder}\n />\n );\n }\n };\n\n return (\n \n {fieldsElements.map((field, item) => (\n {fieldDefinition(field, item)}\n ))}\n \n );\n};\n\nexport default ConfTargetGeneric;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { LinearProgress } from \"@mui/material\";\nimport { ConfirmDeleteIcon } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IResetConfiguration {\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n configurationName,\n closeResetModalAndRefresh,\n resetOpen,\n}: IResetConfiguration) => {\n const dispatch = useAppDispatch();\n const [resetLoading, setResetLoading] = useState(false);\n\n useEffect(() => {\n if (resetLoading) {\n api.configs\n .resetConfig(configurationName)\n .then(() => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [closeResetModalAndRefresh, configurationName, resetLoading, dispatch]);\n\n const resetConfiguration = () => {\n setResetLoading(true);\n };\n\n return (\n }\n isLoading={resetLoading}\n onConfirm={resetConfiguration}\n onClose={() => {\n closeResetModalAndRefresh(false);\n }}\n confirmationContent={\n \n {resetLoading && }\n \n Are you sure you want to restore these configurations to default\n values?\n \n \n Please note that this may cause your system to not be accessible\n \n \n \n }\n />\n );\n};\n\nexport default ResetConfigurationModal;\n"],"names":["_ref","elements","name","label","_ref$tooltip","tooltip","_ref$commonPlaceholde","commonPlaceholder","onChange","_ref$withBorder","withBorder","_useState","useState","_useState2","_slicedToArray","currentElements","setCurrentElements","bottomList","createRef","useEffect","length","elementsSplit","split","push","refScroll","current","scrollIntoView","onChangeCallback","useCallback","newString","firstUpdate","useRef","elementsString","filter","element","trim","join","onChangeElement","e","persist","updatedElement","_toConsumableArray","index","get","target","parseInt","value","inputs","map","_jsx","InputBox","id","concat","toString","placeholder","overlayIcon","AddIcon","overlayAction","elementsUp","cpList","addEmptyLine","Fragment","children","_jsxs","Box","sx","display","className","InputLabel","alignItems","marginLeft","width","Tooltip","placement","HelpIcon","withBorders","overflowY","height","position","ref","StyledSwitch","withStyles","theme","root","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","createStyles","_objectSpread","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","actionsTray","fieldBasic","_ref$label","_ref$checked","_ref$disabled","disabled","_ref$switchOnly","switchOnly","_ref$description","description","classes","indicatorLabels","_ref$extraInputProps","extraInputProps","switchComponent","React","clsx","_defineProperty","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","Grid","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","textAlign","Typography","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","TextField","InputProps","tooltipHelper","textBoxContainer","flexGrow","right","top","maxWidth","maxHeight","_ref$type","type","_ref$autoComplete","autoComplete","_ref$multiline","multiline","_ref$index","_ref$error","error","_ref$required","required","_ref$placeholder","min","max","overlayId","_ref$overlayIcon","_ref$overlayObject","overlayObject","_ref$noLabelMinWidth","noLabelMinWidth","_ref$pattern","pattern","_ref$autoFocus","autoFocus","_ref$className","onKeyPress","onFocus","onPaste","toggleTextInput","setToggleTextInput","inputBoxWrapperIcon","inputBoxWrapperType","VisibilityOffIcon","RemoveRedEyeIcon","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","IconButton","onClick","size","predefinedList","content","_ref$multiLine","multiLine","actionButton","prefinedContainer","predefinedTitle","includesActionButton","innerContentMultiline","innerContent","overlayShareOption","open","onCloseEndpoint","setName","_useState3","_useState4","endpoint","setEndpoint","_useState5","_useState6","authToken","setAuthToken","_useState7","_useState8","saving","setSaving","_useState9","_useState10","invalidInputs","setInvalidInput","_useState11","_useState12","initialInputs","setInitialInputs","dispatch","useAppDispatch","initializeInput","validateInput","valid","includes","icon","Webhook","CallToActionIcon","PendingActionsIcon","ModalWrapper","modalOpen","onClose","titleIcon","FormLayout","containerPadding","event","validity","marginBottom","LinearProgress","modalStyleUtils","modalButtonBar","Button","variant","marginRight","payload","key_values","key","arn_resource_id","api","configs","setConfig","then","res","setServerNeedsRestart","data","restart","setSnackBarMessage","configurationIsLoading","catch","err","setErrorSnackMessage","errorToHandler","selectedARN","deleteLoading","setDeleteLoading","resetConfig","defaultWH","message","ConfirmDialog","confirmText","isOpen","isLoading","onConfirm","ConfirmDeleteIcon","confirmationContent","_overrideValues$enabl","_overrideValues$endpo","_overrideValues$auth_","endpointInfo","endpointState","setEndpointState","endpointLocate","find","tokenLocate","enable","endpointValue","tokenValue","hasOverride","itm","env_override","overrideValues","overrideFields","formFieldStyles","formFieldRow","PredefinedList","paddingRight","overrideEnv","ConsoleIcon","style","auth_token","FormSwitchWrapper","InputBoxWrapper","setResetConfigurationOpen","WebhookSettingslist","newEndpointOpen","setNewEndpointOpen","deleteWebhookOpen","setDeleteWebhookOpen","editWebhookOpen","setEditWebhookOpen","setSelectedARN","selectedEndpoint","setSelectedEndpoint","actions","disableButtonFunction","wHook","_wHook$key_values","AddEndpointModal","DeleteWebhookEndpoint","EditWebhookEndpoint","DataTable","columns","elementKey","renderFunction","EnableFilter","overrideEnabled","flexDirection","justifyItems","fill","TierOfflineIcon","TierOnlineIcon","endpointFilter","itemActions","idField","records","entityName","customPaperHeight","selectedConfiguration","navigate","useNavigate","_useLocation$pathname","useLocation","pathname","selConfigTab","substring","lastIndexOf","valuesObj","setValueObj","configValues","setConfigValues","configSubsysList","setConfigSubsysList","resetConfigurationOpen","overrideEnvs","setOverrideEnvs","loadingConfig","useSelector","state","system","loadingConfigurations","configId","configInfo","values","keyVals","fieldsConfigurations","field","includedValue","customValue","customValueProcess","removeEmptyFields","configuration_id","onValueChange","newValue","resetConfigurationMOpen","onMouseMove","setHelpName","configuration_label","ResetConfigurationModal","configurationName","closeResetModalAndRefresh","resetOpen","paddingTop","Loader","WebhookSettings","noValidate","onSubmit","preventDefault","flexFlow","gridTemplateColumns","gap","ConfTargetGeneric","fields","defaultVals","configName","validActiveConfig","configurationElements","containerClassName","minWidth","EditConfiguration","useDispatch","_useApi","useApi","performDownload","Blob","window","atob","DateTime","now","toFormat","_useApi2","isReqLoading","invokeApi","TooltipWrapper","UploadIcon","needsRestart","serverNeedsRestart","undefined","refreshPage","setRefreshPage","fileUpload","files","fileToUpload","formData","FormData","blobFile","append","click","DownloadIcon","NON_SUB_SYS_CONFIG_ITEMS","IGNORED_CONFIG_SUB_SYS","configSubSysList","setConfigSubSysList","fetchConfigSubSysList","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","listConfig","_res$data","configurations","_res$data2","confSubSysList","reduce","acc","_ref2","_ref2$key","stop","availableConfigSubSys","_ref3","PageHeaderWrapper","HelpMenu","PageLayout","ScreenTitle","SettingsIcon","ImportConfigButton","ExportConfigButton","Tabs","currentTabOrPath","onTabClick","path","useRouteTabs","options","tabConfig","to","IAM_PAGES","SETTINGS","routes","Routes","Route","ConfigurationForm","Navigate","HelpBox","iconComponent","help","href","rel","PublicIcon","CompressIcon","CodeIcon","LocalHospitalIcon","FindReplaceIcon","VpnKeyIcon","LogsIcon","region","compression","heal","scanner","etcd","logger_webhook","audit_webhook","audit_kafka","origValue","formFields","selectSAs","setSelectedSAs","selectedSAs","targetD","overrideReturn","forEach","envItem","valueDef","defaults","defValue","storedConfig","valueHolder","setValueHolder","fieldsElements","defValList","setValueElement","valuesDup","fieldDefinition","holderItem","override","ReadBox","CSVMultiSelector","valCh","Array","isArray","CommentBox","resetLoading","setResetLoading","whiteSpace","wordWrap"],"sourceRoot":""}
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1516.67512c50.chunk.js b/portal-ui/build/static/js/1516.67512c50.chunk.js
deleted file mode 100644
index 4f1b7d3a0a..0000000000
--- a/portal-ui/build/static/js/1516.67512c50.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1516],{57314:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(30829),a=t(20068),l=t(27391),c=t(11135),d=t(25787),x=t(23814),u=t(29945),p=t(80184);n.Z=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontSize:14,margin:0,alignItems:"flex-start",paddingTop:"20px",flexWrap:"wrap",display:"flex"}),textBoxContainer:{flexGrow:1,position:"relative"},cssOutlinedInput:{borderColor:"#EAEAEA",padding:16},rootContainer:{"& .MuiOutlinedInput-inputMultiline":(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontSize:13,minHeight:150}),"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"& textarea":{color:"#07193E",fontSize:13,fontWeight:600,"&:placeholder":{color:"#858585",opacity:1,fontWeight:400}}}}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,c=e.id,d=e.name,x=e.disabled,f=void 0!==x&&x,h=e.tooltip,g=void 0===h?"":h,m=e.index,b=void 0===m?0:m,j=e.error,v=void 0===j?"":j,Z=e.required,y=void 0!==Z&&Z,w=e.placeholder,k=void 0===w?"":w,C=e.classes,I={"data-index":b};return(0,p.jsx)(r.Fragment,{children:(0,p.jsxs)(s.ZP,{item:!0,xs:12,className:"".concat(C.fieldContainer," ").concat(""!==v?C.errorInField:""),children:[""!==n&&(0,p.jsxs)(o.Z,{htmlFor:c,className:C.inputLabel,children:[(0,p.jsxs)("span",{children:[n,y?"*":""]}),""!==g&&(0,p.jsx)("div",{className:C.tooltipContainer,children:(0,p.jsx)(a.Z,{title:g,placement:"top-start",children:(0,p.jsx)("div",{className:C.tooltip,children:(0,p.jsx)(u.byK,{})})})})]}),(0,p.jsx)("div",{className:C.textBoxContainer,children:(0,p.jsx)(l.Z,{id:c,name:d,fullWidth:!0,value:i,disabled:f,onChange:t,multiline:!0,rows:5,inputProps:I,error:""!==v,helperText:v,placeholder:k,InputLabelProps:{shrink:!0},InputProps:{classes:{notchedOutline:C.cssOutlinedInput,root:C.rootContainer}},variant:"outlined"})})]})})}))},81159:function(e,n,t){var i=t(4942),r=t(1413),s=t(72791),o=t(11135),a=t(25787),l=t(9955),c=t(30829),d=t(20068),x=t(20890),u=t(61889),p=t(23814),f=t(29945),h=t(28182),g=t(80184),m=(0,a.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)({indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,o=e.onChange,a=e.value,l=e.id,p=e.name,b=e.checked,j=void 0!==b&&b,v=e.disabled,Z=void 0!==v&&v,y=e.switchOnly,w=void 0!==y&&y,k=e.tooltip,C=void 0===k?"":k,I=e.description,L=void 0===I?"":I,S=e.classes,T=e.indicatorLabels,F=e.extraInputProps,N=void 0===F?{}:F,z=(0,g.jsxs)(s.Fragment,{children:[!w&&(0,g.jsx)("span",{className:(0,h.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,!j)),children:T&&T.length>1?T[1]:"OFF"}),(0,g.jsx)(m,{checked:j,onChange:o,color:"primary",name:p,inputProps:(0,r.Z)({"aria-label":"primary checkbox"},N),disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:a,id:l}),!w&&(0,g.jsx)("span",{className:(0,h.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,j)),children:T?T[0]:"ON"})]});return w?z:(0,g.jsx)("div",{children:(0,g.jsxs)(u.ZP,{container:!0,alignItems:"center",children:[(0,g.jsx)(u.ZP,{item:!0,xs:12,sm:8,md:8,children:""!==t&&(0,g.jsxs)(c.Z,{htmlFor:l,className:S.inputLabel,children:[(0,g.jsx)("span",{children:t}),""!==C&&(0,g.jsx)("div",{className:S.tooltipContainer,children:(0,g.jsx)(d.Z,{title:C,placement:"top-start",children:(0,g.jsx)("div",{className:S.tooltip,children:(0,g.jsx)(f.byK,{})})})})]})}),(0,g.jsx)(u.ZP,{item:!0,xs:12,sm:""!==t?4:12,md:""!==t?4:12,textAlign:"right",justifyContent:"end",className:S.switchContainer,children:z}),""!==L&&(0,g.jsx)(u.ZP,{item:!0,xs:12,textAlign:"left",children:(0,g.jsx)(x.Z,{component:"p",className:S.fieldDescription,children:L})})]})})}))},21435:function(e,n,t){var i=t(29439),r=t(1413),s=t(72791),o=t(27391),a=t(61889),l=t(30829),c=t(20068),d=t(13400),x=t(20165),u=t(3579),p=t(11135),f=t(72455),h=t(25787),g=t(23814),m=t(29945),b=t(28182),j=t(80184),v=(0,f.Z)((function(e){return(0,p.Z)((0,r.Z)({},g.gM))}));function Z(e){var n=v();return(0,j.jsx)(o.Z,(0,r.Z)({InputProps:{classes:n}},e))}n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},g.YI),g.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}}}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,p=e.id,f=e.name,h=e.type,g=void 0===h?"text":h,v=e.autoComplete,y=void 0===v?"off":v,w=e.disabled,k=void 0!==w&&w,C=e.multiline,I=void 0!==C&&C,L=e.tooltip,S=void 0===L?"":L,T=e.index,F=void 0===T?0:T,N=e.error,z=void 0===N?"":N,P=e.required,A=void 0!==P&&P,E=e.placeholder,B=void 0===E?"":E,R=e.min,K=e.max,O=e.overlayId,W=e.overlayIcon,_=void 0===W?null:W,M=e.overlayObject,U=void 0===M?null:M,G=e.extraInputProps,H=void 0===G?{}:G,D=e.overlayAction,Y=e.noLabelMinWidth,V=void 0!==Y&&Y,$=e.pattern,q=void 0===$?"":$,X=e.autoFocus,Q=void 0!==X&&X,J=e.classes,ee=e.className,ne=void 0===ee?"":ee,te=e.onKeyPress,ie=e.onFocus,re=e.onPaste,se=(0,r.Z)({"data-index":F},H),oe=(0,s.useState)(!1),ae=(0,i.Z)(oe,2),le=ae[0],ce=ae[1];"number"===g&&R&&(se.min=R),"number"===g&&K&&(se.max=K),""!==q&&(se.pattern=q);var de=_,xe=g;return"password"===g&&null===_&&(de=le?(0,j.jsx)(x.Z,{}):(0,j.jsx)(u.Z,{}),xe=le?"text":"password"),(0,j.jsx)(s.Fragment,{children:(0,j.jsxs)(a.ZP,{container:!0,className:(0,b.Z)(""!==ne?ne:"",""!==z?J.errorInField:J.inputBoxContainer),children:[""!==n&&(0,j.jsxs)(l.Z,{htmlFor:p,className:V?J.noMinWidthLabel:J.inputLabel,children:[(0,j.jsxs)("span",{children:[n,A?"*":""]}),""!==S&&(0,j.jsx)("div",{className:J.tooltipContainer,children:(0,j.jsx)(c.Z,{title:S,placement:"top-start",children:(0,j.jsx)("div",{className:J.tooltip,children:(0,j.jsx)(m.byK,{})})})})]}),(0,j.jsxs)("div",{className:J.textBoxContainer,children:[(0,j.jsx)(Z,{id:p,name:f,fullWidth:!0,value:o,autoFocus:Q,disabled:k,onChange:t,type:xe,multiline:I,autoComplete:y,inputProps:se,error:""!==z,helperText:z,placeholder:B,className:J.inputRebase,onKeyPress:te,onFocus:ie,onPaste:re}),de&&(0,j.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,j.jsx)(d.Z,{onClick:D?function(){D()}:function(){return ce(!le)},id:O,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:de})}),U&&(0,j.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:U})]})]})})}))},90673:function(e,n,t){var i=t(1413),r=t(72791),s=t(61889),o=t(76098),a=t(30829),l=t(20068),c=t(68096),d=t(58406),x=t(77865),u=t(11135),p=t(25787),f=t(23814),h=t(29945),g=t(80184),m=(0,p.Z)((function(e){return(0,u.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(o.ZP);n.Z=(0,p.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.YI),f.Hr),{},{fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,o=e.onChange,u=e.options,p=e.label,f=e.tooltip,b=void 0===f?"":f,j=e.value,v=e.disabled,Z=void 0!==v&&v;return(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(s.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==p&&(0,g.jsxs)(a.Z,{htmlFor:t,className:n.inputLabel,children:[(0,g.jsx)("span",{children:p}),""!==b&&(0,g.jsx)("div",{className:n.tooltipContainer,children:(0,g.jsx)(l.Z,{title:b,placement:"top-start",children:(0,g.jsx)("div",{className:n.tooltip,children:(0,g.jsx)(h.byK,{})})})})]}),(0,g.jsx)(c.Z,{fullWidth:!0,children:(0,g.jsx)(d.Z,{id:t,name:i,value:j,onChange:o,input:(0,g.jsx)(m,{}),disabled:Z,children:u.map((function(e){return(0,g.jsx)(x.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51516:function(e,n,t){t.r(n),t.d(n,{default:function(){return se}});var i=t(29439),r=t(1413),s=t(72791),o=t(11135),a=t(23814),l=t(25787),c=t(64554),d=t(81207),x=t(78687),u=t(87995),p=t(81551),f=t(18073),h=t(43896),g=t(19847),m=t(61889),b=t(50533),j=t(29945),v=t(81159),Z=t(21435),y=t(74440),w=t(80184),k=function(e){var n=e.icon,t=void 0===n?null:n,i=e.title;return(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[t,(0,w.jsx)("div",{className:"title-text",children:i})]})},C=function(e){var n=e.email;return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(y.Z,{email:n}),(0,w.jsx)(m.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,w.jsxs)(c.Z,{sx:{padding:"20px","& a":{color:"#2781B0",cursor:"pointer"}},children:["Login to"," ",(0,w.jsx)(b.Z,{href:"https://subnet.min.io",target:"_blank",style:{color:"#2781B0",cursor:"pointer"},children:"SUBNET"})," ","to avail support for this MinIO cluster"]})})]})},I=function(){var e="mc admin config set {alias} subnet proxy={proxy}",n=(0,s.useState)(!1),t=(0,i.Z)(n,2),r=t[0],o=t[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsxs)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",padding:"23px",marginTop:"40px",alignItems:"start",justifyContent:"space-between"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{height:"22px",width:"22px"}},children:[(0,w.jsx)(j.ewm,{}),(0,w.jsx)("div",{style:{marginLeft:"10px",fontWeight:600},children:"Proxy Configuration"})]}),(0,w.jsxs)(c.Z,{sx:{marginTop:"10px",marginBottom:"10px",fontSize:"14px"},children:["For airgap/firewalled environments it is possible to"," ",(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},href:"https://min.io/docs/minio/linux/reference/minio-mc-admin/mc-admin-config.html?ref=con",target:"_blank",children:"configure a proxy"})," ","to connect to SUBNET ."]}),(0,w.jsx)(c.Z,{children:r&&(0,w.jsx)(Z.Z,{disabled:!0,id:"subnetProxy",name:"subnetProxy",placeholder:"",onChange:function(){},label:"",value:e,overlayIcon:(0,w.jsx)(j.TIy,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(e)}})})]}),(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsx)(v.Z,{value:"enableProxy",id:"enableProxy",name:"enableProxy",checked:r,onChange:function(e){o(e.target.checked)}})})]})})},L=t(3579),S=t(20165),T=t(30403),F=t(23508),N=t(9505),z=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.Bz),a.bK))}))((function(e){var n=e.open,t=e.closeModal,r=e.classes,o=e.onSet,a=(0,p.TL)(),l=(0,s.useState)(""),d=(0,i.Z)(l,2),x=d[0],f=d[1],h=(0,s.useState)(""),g=(0,i.Z)(h,2),m=g[0],b=g[1],v=(0,s.useState)(!1),y=(0,i.Z)(v,2),k=y[0],C=y[1],I=(0,s.useState)(""),z=(0,i.Z)(I,2),P=z[0],A=z[1],E=(0,s.useState)(""),B=(0,i.Z)(E,2),R=B[0],K=B[1],O=(0,N.Z)((function(e){e.mfa_token?A(e.mfa_token):e.access_token?M("GET","/api/v1/subnet/apikey?token=".concat(e.access_token)):(o(e.apiKey),t())}),(function(e){a((0,u.Ih)(e)),t(),f(""),b(""),C(!1),A(""),K("")})),W=(0,i.Z)(O,2),_=W[0],M=W[1],U=function(){return(0,w.jsxs)(c.Z,{sx:{width:500},children:[(0,w.jsx)(Z.Z,{className:r.spacerBottom,classes:{inputLabel:r.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return f(e.target.value)},label:"Email",value:x,overlayIcon:(0,w.jsx)(j.oyc,{})}),(0,w.jsx)(Z.Z,{className:r.spacerBottom,classes:{inputLabel:r.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return b(e.target.value)},label:"Password",type:k?"text":"password",value:m,overlayIcon:k?(0,w.jsx)(S.Z,{}):(0,w.jsx)(L.Z,{}),overlayAction:function(){return C(!k)}})]})},G=function(){return(0,w.jsx)(c.Z,{sx:{display:"flex"},children:(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(Z.Z,{overlayIcon:(0,w.jsx)(T.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(e){return K(e.target.value)},placeholder:"",label:"",value:R})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"}})]})})};return n?(0,w.jsx)(F.Z,{title:"Get API Key from SUBNET",confirmText:"Get API Key",isOpen:n,titleIcon:(0,w.jsx)(j.szr,{}),isLoading:_,cancelText:"Cancel",onConfirm:function(){""!==P?M("POST","/api/v1/subnet/login/mfa",{username:x,otp:R,mfa_token:P}):M("POST","/api/v1/subnet/login",{username:x,password:m})},onClose:t,confirmButtonProps:{variant:"callAction",disabled:!x||!m||_,hidden:!0},cancelButtonProps:{disabled:_},confirmationContent:""===P?U():G()}):null})),P=function(e){var n=e.icon,t=e.description;return(0,w.jsxs)(c.Z,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[n," ",(0,w.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})},A=function(e){var n=e.hasMargin,t=void 0===n||n;return(0,w.jsxs)(c.Z,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px",marginLeft:{xs:"0px",sm:"0px",md:t?"30px":""},marginTop:{xs:"0px",sm:t?"30px":""}},children:[(0,w.jsxs)(c.Z,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,w.jsx)(j.M9A,{}),(0,w.jsx)("div",{children:"Why should I register?"})]}),(0,w.jsx)(c.Z,{sx:{fontSize:"14px",marginBottom:"15px"},children:"Registering this cluster with the MinIO Subscription Network (SUBNET) provides the following benefits in addition to the commercial license and SLA backed support."}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,w.jsx)(P,{icon:(0,w.jsx)(j._qw,{}),description:"Call Home Monitoring"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.toM,{}),description:"Health Diagnostics"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.Fsz,{}),description:"Performance Analysis"}),(0,w.jsx)(P,{icon:(0,w.jsx)(j.EQx,{}),description:(0,w.jsx)(b.Z,{href:"https://min.io/signup?ref=con",target:"_blank",sx:{color:"#2781B0",cursor:"pointer"},children:"More Features"})})]})]})},E=t(57689),B=t(56087),R=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){var n=e.classes,t=e.registerEndpoint,r=(0,E.s0)(),o=(0,s.useState)(!1),a=(0,i.Z)(o,2),l=a[0],x=a[1],f=(0,s.useState)(""),h=(0,i.Z)(f,2),g=h[0],m=h[1],b=(0,s.useState)(!1),v=(0,i.Z)(b,2),y=v[0],C=v[1],I=(0,s.useState)(!1),L=(0,i.Z)(I,2),S=L[0],T=L[1],F=(0,p.TL)(),N=(0,s.useCallback)((function(){if(!y){C(!0);var e={apiKey:g};d.Z.invoke("POST",t,e).then((function(e){C(!1),e&&e.registered&&(F((0,u.cN)(!0)),r(B.gA.LICENSE))})).catch((function(e){F((0,u.Ih)(e)),C(!1),P()}))}}),[g,F,y,t,r]);(0,s.useEffect)((function(){S&&N()}),[S,N]);var P=function(){m(""),T(!1)};return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.dRy,{}),title:"Register cluster with API key"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network API Key to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(Z.Z,{className:n.spacerBottom,classes:{inputLabel:n.sizedLabel},id:"api-key",name:"api-key",onChange:function(e){return m(e.target.value)},label:"API Key",value:g}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(j.zxk,{id:"get-from-subnet",variant:"regular",className:n.spacerRight,disabled:y,onClick:function(){return x(!0)},label:"Get from SUBNET"}),(0,w.jsx)(j.zxk,{id:"register",type:"submit",variant:"callAction",disabled:y||0===g.trim().length,onClick:function(){return N()},label:"Register"}),(0,w.jsx)(z,{open:l,closeModal:function(){return x(!1)},onSet:function(e){m(e),T(!0)}})]})]})]}),(0,w.jsx)(A,{})]})]})})),K=t(74165),O=t(15861),W=t(36825),_=t(96382),M=t(38442),U=(0,_.hg)("register/fetchLicenseInfo",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,r=t.dispatch,s=i(),o=(0,M.F)(B.C3,B.LC[B.gA.LICENSE],!0),!s.register.loadingLicenseInfo){e.next=6;break}return e.abrupt("return");case 6:o?(r((0,W.pI)(!0)),d.Z.invoke("GET","/api/v1/subnet/info").then((function(e){r((0,W.aO)(e)),r((0,W.Dr)(!0)),r((0,W.pI)(!1))})).catch((function(e){e.detailedError.toLowerCase()!=="License is not present".toLowerCase()&&e.detailedError.toLowerCase()!=="license not found".toLowerCase()&&r((0,u.Ih)(e)),r((0,W.Dr)(!1)),r((0,W.pI)(!1))}))):r((0,W.pI)(!1));case 7:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),G=(0,_.hg)("register/callRegister",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.dispatch,r={token:n.token,account_id:n.account_id},d.Z.invoke("POST","/api/v1/subnet/register",r).then((function(){i((0,W.K4)(!1)),i((0,u.cN)(!0)),i((0,W.jS)()),i(U())})).catch((function(e){i((0,u.Ih)(e)),i((0,W.K4)(!1))}));case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),H=(0,_.hg)("register/subnetLoginWithMFA",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o,a,l,c;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,r=t.dispatch,s=i(),o=s.register.subnetEmail,a=s.register.subnetMFAToken,l=s.register.subnetOTP,!s.register.loading){e.next=8;break}return e.abrupt("return");case 8:r((0,W.K4)(!0)),c={username:o,otp:l,mfa_token:a},d.Z.invoke("POST","/api/v1/subnet/login/mfa",c).then((function(e){r((0,W.K4)(!1)),e&&e.access_token&&e.organizations.length>0&&(1===e.organizations.length?r(G({token:e.access_token,account_id:e.organizations[0].accountId.toString()})):(r((0,W.t2)(e.access_token)),r((0,W.dl)(e.organizations)),r((0,W.wK)(e.organizations[0].accountId.toString()))))})).catch((function(e){r((0,u.Ih)(e)),r((0,W.K4)(!1)),r((0,W.Z7)(""))}));case 11:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),D=(0,_.hg)("register/subnetLogin",function(){var e=(0,O.Z)((0,K.Z)().mark((function e(n,t){var i,r,s,o,a,l,c;return(0,K.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.getState,t.rejectWithValue,r=t.dispatch,s=i(),o=s.register.license,a=s.register.subnetPassword,l=s.register.subnetEmail,!s.register.loading){e.next=8;break}return e.abrupt("return");case 8:r((0,W.K4)(!0)),c={username:l,password:a,apiKey:o},d.Z.invoke("POST","/api/v1/subnet/login",c).then((function(e){r((0,W.K4)(!1)),e&&e.registered?(r((0,W.jS)()),r(U())):e&&e.mfa_token?r((0,W.dK)(e.mfa_token)):e&&e.access_token&&e.organizations.length>0&&(r((0,W.t2)(e.access_token)),r((0,W.dl)(e.organizations)),r((0,W.wK)(e.organizations[0].accountId.toString())))})).catch((function(e){r((0,u.Ih)(e)),r((0,W.K4)(!1)),r((0,W.jS)())}));case 11:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()),Y=t(27454),V=t(78029),$=t.n(V),q=t(57314),X=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetRegToken})),t=(0,x.v9)((function(e){return e.register.clusterRegistered})),r=(0,x.v9)((function(e){return e.register.licenseInfo})),o="https://subnet.min.io/cluster/register?token=".concat(n),a=(0,s.useState)(""),l=(0,i.Z)(a,2),d=l[0],f=l[1],h=(0,N.Z)((function(){e(U()),e((0,u.cN)(!0))}),(function(n){e((0,u.Ih)(n))})),g=(0,i.Z)(h,2),m=g[0],v=g[1];return(0,w.jsx)(s.Fragment,{children:(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:t&&r?(0,w.jsx)(C,{email:r.email}):(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.YL8,{}),title:"Register cluster in an Air-gap environment"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsx)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"}},children:(0,w.jsxs)(c.Z,{children:[(0,w.jsx)(c.Z,{className:"step-row",children:(0,w.jsx)("div",{className:"step-text",children:"Click on the link to register this cluster in SUBNET and get a License Key for this Air-Gap deployment"})}),(0,w.jsxs)(c.Z,{sx:{flex:"1",display:"flex",alignItems:"center",gap:3},children:[(0,w.jsx)(b.Z,{style:{color:"#2781B0",cursor:"pointer"},color:"inherit",href:o,target:"_blank",children:"https://subnet.min.io/cluster/register"}),(0,w.jsx)(Y.Z,{tooltip:"Copy to Clipboard",children:(0,w.jsx)($(),{text:o,children:(0,w.jsx)(j.zxk,{type:"button",id:"copy-ult-to-clip-board",icon:(0,w.jsx)(j.TIy,{}),color:"primary",variant:"regular"})})})]}),(0,w.jsx)("div",{style:{marginTop:"25px",fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:"Note: If this machine does not have internet connection, Copy paste the following URL in a browser where you access SUBNET and follow the instructions to complete the registration"}),(0,w.jsxs)(c.Z,{sx:{marginTop:"25px",display:"flex",flexDirection:"column"},children:[(0,w.jsxs)("label",{style:{fontWeight:"bold",marginBottom:"10px"},children:["Paste the License Key"," "]}),(0,w.jsx)(q.Z,{value:d,disabled:m,label:"",id:"licenseKey",name:"licenseKey",placeholder:"License Key",onChange:function(e){f(e.target.value)}})]}),(0,w.jsx)(c.Z,{sx:{marginTop:"25px"},children:(0,w.jsx)(j.zxk,{id:"apply-license-key",onClick:function(){v("PUT","/api/v1/configs/subnet",{key_values:[{key:"license",value:d}]})},variant:"callAction",disabled:!d||m,label:"Apply Cluster License"})})]})}),(0,w.jsx)(A,{})]})]})})})},Q=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetMFAToken})),t=(0,x.v9)((function(e){return e.register.subnetOTP})),i=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Two-Factor Authentication"}),(0,w.jsx)(c.Z,{children:"Please enter the 6-digit verification code that was sent to your email address. This code will be valid for 5 minutes."}),(0,w.jsx)(c.Z,{sx:{flex:"1",marginTop:"30px"},children:(0,w.jsx)(Z.Z,{overlayIcon:(0,w.jsx)(T.Z,{}),id:"subnet-otp",name:"subnet-otp",onChange:function(n){return e((0,W.Z7)(n.target.value))},placeholder:"",label:"",value:t})}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end"},children:(0,w.jsx)(j.zxk,{id:"verify",onClick:function(){return e(H())},disabled:i||0===t.trim().length||0===n.trim().length,variant:"callAction",label:"Verify"})})]}),(0,w.jsx)(A,{})]})},J=t(90673),ee=function(){var e=(0,p.TL)(),n=(0,x.v9)((function(e){return e.register.subnetAccessToken})),t=(0,x.v9)((function(e){return e.register.selectedSubnetOrganization})),i=(0,x.v9)((function(e){return e.register.subnetOrganizations})),r=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{marginTop:"15px",marginBottom:"15px","& .title-text":{marginLeft:"0px"}},children:(0,w.jsx)(k,{title:"Register MinIO cluster"})}),(0,w.jsxs)(c.Z,{children:[(0,w.jsx)(J.Z,{id:"subnet-organization",name:"subnet-organization",onChange:function(n){return e((0,W.wK)(n.target.value))},label:"Select an organization",value:t,options:i.map((function(e){return{label:e.company,value:e.accountId.toString()}}))}),(0,w.jsx)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"15px"},children:(0,w.jsx)(j.zxk,{id:"register-cluster",onClick:function(){return function(){r||(e((0,W.K4)(!0)),n&&t&&e(G({token:n,account_id:t})))}},disabled:r||0===n.trim().length,variant:"callAction",label:"Register"})})]})]}),(0,w.jsx)(A,{})]})},ne=(0,t(72455).Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))})),te=function(){var e=ne(),n=(0,p.TL)(),t=(0,x.v9)((function(e){return e.register.subnetPassword})),i=(0,x.v9)((function(e){return e.register.subnetEmail})),r=(0,x.v9)((function(e){return e.register.showPassword})),o=(0,x.v9)((function(e){return e.register.loading}));return(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{"& .title-text":{marginLeft:"27px",fontWeight:600}},children:(0,w.jsx)(k,{icon:(0,w.jsx)(j.dRy,{}),title:"Online activation of MinIO Subscription Network License"})}),(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{xs:"column",md:"row"}},children:[(0,w.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2"},children:[(0,w.jsx)(c.Z,{sx:{fontSize:"16px",display:"flex",flexFlow:"column",marginTop:"30px",marginBottom:"30px"},children:"Use your MinIO Subscription Network login credentials to register this cluster."}),(0,w.jsxs)(c.Z,{sx:{flex:"1"},children:[(0,w.jsx)(Z.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-email",name:"subnet-email",onChange:function(e){return n((0,W.Ze)(e.target.value))},label:"Email",value:i,overlayIcon:(0,w.jsx)(j.oyc,{})}),(0,w.jsx)(Z.Z,{className:e.spacerBottom,classes:{inputLabel:e.sizedLabel},id:"subnet-password",name:"subnet-password",onChange:function(e){return n((0,W.lr)(e.target.value))},label:"Password",type:r?"text":"password",value:t,overlayIcon:r?(0,w.jsx)(S.Z,{}):(0,w.jsx)(L.Z,{}),overlayAction:function(){return n((0,W.R5)(!r))}}),(0,w.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end","& button":{marginLeft:"8px"}},children:[(0,w.jsx)(j.zxk,{id:"sign-up",type:"submit",className:e.spacerRight,variant:"regular",onClick:function(e){e.preventDefault(),window.open("https://min.io/signup?ref=con","_blank")},label:"Sign up"}),(0,w.jsx)(j.zxk,{id:"register-credentials",type:"submit",variant:"callAction",disabled:o||0===i.trim().length||0===t.trim().length,onClick:function(){return n(D())},label:"Register"})]})]})]}),(0,w.jsx)(A,{})]})]})},ie=t(47974),re=t(99670),se=(0,l.Z)((function(e){return(0,o.Z)((0,r.Z)({sizedLabel:{minWidth:"75px"}},a.bK))}))((function(e){e.classes;var n=(0,p.TL)(),t=(0,x.v9)((function(e){return e.register.subnetMFAToken})),r=(0,x.v9)((function(e){return e.register.subnetAccessToken})),o=(0,x.v9)((function(e){return e.register.subnetRegToken})),a=(0,x.v9)((function(e){return e.register.subnetOrganizations})),l=(0,x.v9)((function(e){return e.register.loading})),m=(0,x.v9)((function(e){return e.register.loadingLicenseInfo})),b=(0,x.v9)((function(e){return e.register.clusterRegistered})),v=(0,x.v9)((function(e){return e.register.licenseInfo})),Z=(0,x.v9)((function(e){return e.register.curTab})),y=(0,s.useState)(!0),k=(0,i.Z)(y,2),L=k[0],S=k[1];(0,s.useEffect)((function(){return function(){n((0,W.jS)())}}),[n]);(0,s.useEffect)((function(){L&&(n(U()),S(!1))}),[L,S,n]);var T=(0,w.jsx)(s.Fragment,{});T=r&&a.length>0?(0,w.jsx)(ee,{}):t?(0,w.jsx)(Q,{}):(0,w.jsx)(te,{});var F=(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&v?(0,w.jsx)(C,{email:v.email}):(0,w.jsx)(R,{registerEndpoint:"/api/v1/subnet/login"})}),(0,w.jsx)(I,{})]}),N=(0,w.jsx)(X,{}),z=(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"43px"},children:b&&v?(0,w.jsx)(C,{email:v.email}):T}),!b&&(0,w.jsx)(I,{})]}),P=m?(0,w.jsx)("div",{children:"Loading.."}):z;return(0,s.useEffect)((function(){n((0,u.Sc)("register"))}),[]),(0,w.jsxs)(s.Fragment,{children:[(0,w.jsx)(ie.Z,{label:"Register to MinIO Subscription Network",actions:(0,w.jsx)(re.Z,{})}),(0,w.jsxs)(j.Xgh,{children:[(0,w.jsxs)(f.Z,{value:Z,onChange:function(e,t){n((0,W.m)(t))},indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",children:[(0,w.jsx)(h.Z,{label:"Credentials",id:"simple-tab-0","aria-controls":"simple-tab-panel-0"}),(0,w.jsx)(h.Z,{label:"API Key",id:"simple-tab-1","aria-controls":"simple-tab-panel-1"}),(0,w.jsx)(h.Z,{label:"Air-Gap",id:"simple-tab-2","aria-controls":"simple-tab-panel-2",onClick:function(){l||o||(n((0,W.K4)(!0)),d.Z.invoke("GET","/api/v1/subnet/registration-token").then((function(e){n((0,W.K4)(!1)),e&&e.regToken&&n((0,W.wz)(e.regToken))})).catch((function(e){console.error(e),n((0,u.Ih)(e)),n((0,W.K4)(!1))})))}})]}),(0,w.jsx)(g.x,{index:0,value:Z,children:P}),(0,w.jsx)(g.x,{index:1,value:Z,children:F}),(0,w.jsx)(g.x,{index:2,value:Z,children:N})]})]})}))},74440:function(e,n,t){t(72791);var i=t(64554),r=t(29945),s=t(80184);n.Z=function(e){var n=e.email,t=void 0===n?"":n;return(0,s.jsxs)(i.Z,{sx:{height:"67px",color:"#ffffff",display:"flex",position:"relative",top:"-30px",left:"-32px",width:"calc(100% + 64px)",alignItems:"center",justifyContent:"space-between",backgroundColor:"#2781B0",padding:"0 25px 0 25px","& .registered-box, .reg-badge-box":{display:"flex",alignItems:"center",justifyContent:"flex-start"},"& .reg-badge-box":{marginLeft:"20px","& .min-icon":{fill:"#2781B0"}}},children:[(0,s.jsxs)(i.Z,{className:"registered-box",children:[(0,s.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Register status:"}),(0,s.jsxs)(i.Z,{className:"reg-badge-box",children:[(0,s.jsx)(r.SA,{}),(0,s.jsx)(i.Z,{sx:{fontWeight:600},children:"Registered"})]})]}),(0,s.jsxs)(i.Z,{className:"registered-acc-box",sx:{alignItems:"center",justifyContent:"flex-start",display:{sm:"flex",xs:"none"}},children:[(0,s.jsx)(i.Z,{sx:{fontSize:"16px",fontWeight:400},children:"Registered to:"}),(0,s.jsx)(i.Z,{sx:{marginLeft:"8px",fontWeight:600},children:t})]})]})}}}]);
-//# sourceMappingURL=1516.67512c50.chunk.js.map
\ No newline at end of file
diff --git a/portal-ui/build/static/js/1516.67512c50.chunk.js.map b/portal-ui/build/static/js/1516.67512c50.chunk.js.map
deleted file mode 100644
index a1191c55be..0000000000
--- a/portal-ui/build/static/js/1516.67512c50.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/1516.67512c50.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Support/utils.tsx","screens/Console/Support/GetApiKeyModal.tsx","screens/Console/Support/RegisterHelpBox.tsx","screens/Console/Support/ApiKeyRegister.tsx","screens/Console/Support/registerThunks.ts","screens/Console/Support/OfflineRegistration.tsx","screens/Console/Support/SubnetMFAToken.tsx","screens/Console/Support/ClusterRegistrationForm.tsx","screens/Console/Support/OnlineRegistration.tsx","screens/Console/Support/Register.tsx","screens/Console/Support/RegistrationStatusBanner.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Grid, InputLabel, TextField, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport { HelpIcon } from \"mds\";\n\ninterface CommentBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: 14,\n margin: 0,\n alignItems: \"flex-start\",\n paddingTop: \"20px\",\n flexWrap: \"wrap\",\n display: \"flex\",\n },\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n cssOutlinedInput: {\n borderColor: \"#EAEAEA\",\n padding: 16,\n },\n rootContainer: {\n \"& .MuiOutlinedInput-inputMultiline\": {\n ...fieldBasic.inputLabel,\n fontSize: 13,\n minHeight: 150,\n },\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#07193E\",\n borderWidth: 1,\n },\n \"& textarea\": {\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n \"&:placeholder\": {\n color: \"#858585\",\n opacity: 1,\n fontWeight: 400,\n },\n },\n },\n });\n\nconst CommentBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n classes,\n}: CommentBoxProps) => {\n let inputProps: any = { \"data-index\": index };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n