diff --git a/releasenotes/notes/Update-Editing-LB-Listener-aa133b1e5243bb71.yaml b/releasenotes/notes/Update-Editing-LB-Listener-aa133b1e5243bb71.yaml new file mode 100644 index 00000000..da7f23fc --- /dev/null +++ b/releasenotes/notes/Update-Editing-LB-Listener-aa133b1e5243bb71.yaml @@ -0,0 +1,12 @@ +--- +features: + - | + Update editing admin_state_up for lb's listener: + + * Support editing admin_state_up when creating listener in the lb detail page. + + * Support editing admin_state_up when editing listener. + + * Support display admin_state_up info in the listener tab in the lb detail page. + + * Support display admin_state_up info in the listener detail page. diff --git a/src/pages/network/containers/LoadBalancers/Listener/Actions/CreateListener.jsx b/src/pages/network/containers/LoadBalancers/Listener/Actions/CreateListener.jsx index c2f221f9..4b5d45e7 100644 --- a/src/pages/network/containers/LoadBalancers/Listener/Actions/CreateListener.jsx +++ b/src/pages/network/containers/LoadBalancers/Listener/Actions/CreateListener.jsx @@ -92,6 +92,7 @@ export class Create extends ModalAction { ssl_parsing_method: 'one-way', sni_enabled: false, connection_limit: -1, + admin_state_up: true, }; } @@ -203,6 +204,12 @@ export class Create extends ModalAction { extra: t('-1 means no connection limit'), required: true, }, + { + name: 'admin_state_up', + label: t('Admin State Up'), + type: 'switch', + tip: t('Defines the admin state of the listener.'), + }, insertHeaderFormItem, ]; } diff --git a/src/pages/network/containers/LoadBalancers/Listener/Actions/Edit.jsx b/src/pages/network/containers/LoadBalancers/Listener/Actions/Edit.jsx index 19fefc98..a91f3da3 100644 --- a/src/pages/network/containers/LoadBalancers/Listener/Actions/Edit.jsx +++ b/src/pages/network/containers/LoadBalancers/Listener/Actions/Edit.jsx @@ -51,13 +51,22 @@ export class Edit extends Base { get defaultValue() { const { item } = this.props; + const { + name, + description, + protocol, + protocol_port, + connection_limit, + admin_state_up, + } = item || {}; const values = { - name: item.name, - description: item.description, - protocol: item.protocol, - protocol_port: item.protocol_port, - connection_limit: item.connection_limit, + name, + description, + protocol, + protocol_port, + connection_limit, insert_headers: getInsertHeadersFormValueFromListener(item), + admin_state_up, }; if (item.protocol === 'TERMINATED_HTTPS') { if (item.default_tls_container_ref) { diff --git a/src/pages/network/containers/LoadBalancers/Listener/Detail/index.jsx b/src/pages/network/containers/LoadBalancers/Listener/Detail/index.jsx index 656a1753..07d4ab27 100644 --- a/src/pages/network/containers/LoadBalancers/Listener/Detail/index.jsx +++ b/src/pages/network/containers/LoadBalancers/Listener/Detail/index.jsx @@ -66,6 +66,11 @@ export class ListenerDetail extends Base { title: t('Max connect'), dataIndex: 'connection_limit', }, + { + title: t('Admin State Up'), + dataIndex: 'admin_state_up', + render: (value) => (value ? t('On') : t('Off')), + }, { title: t('Description'), dataIndex: 'description', diff --git a/src/pages/network/containers/LoadBalancers/Listener/index.jsx b/src/pages/network/containers/LoadBalancers/Listener/index.jsx index 2d2bbdd7..4ff4a35c 100644 --- a/src/pages/network/containers/LoadBalancers/Listener/index.jsx +++ b/src/pages/network/containers/LoadBalancers/Listener/index.jsx @@ -93,6 +93,11 @@ export class Listeners extends Base { title: t('Max connect'), dataIndex: 'connection_limit', }, + { + title: t('Admin State Up'), + dataIndex: 'admin_state_up', + render: (value) => (value ? t('On') : t('Off')), + }, ]; get searchFilters() {