diff --git a/awx/ui/client/lib/components/_index.less b/awx/ui/client/lib/components/_index.less
index a0be9a31a7..81dc40c580 100644
--- a/awx/ui/client/lib/components/_index.less
+++ b/awx/ui/client/lib/components/_index.less
@@ -15,3 +15,4 @@
@import 'utility/_index';
@import 'code-mirror/_index';
@import 'cards/_index';
+@import 'switch/_index';
diff --git a/awx/ui/client/lib/components/index.js b/awx/ui/client/lib/components/index.js
index f6ae129858..8080175627 100644
--- a/awx/ui/client/lib/components/index.js
+++ b/awx/ui/client/lib/components/index.js
@@ -44,6 +44,7 @@ import truncate from '~components/truncate/truncate.directive';
import atCodeMirror from '~components/code-mirror';
import card from '~components/cards/card.directive';
import cardGroup from '~components/cards/group.directive';
+import atSwitch from '~components/switch/switch.directive';
import BaseInputController from '~components/input/base.controller';
import ComponentsStrings from '~components/components.strings';
@@ -98,6 +99,7 @@ angular
.directive('atTruncate', truncate)
.directive('atCard', card)
.directive('atCardGroup', cardGroup)
+ .directive('atSwitch', atSwitch)
.service('BaseInputController', BaseInputController)
.service('ComponentsStrings', ComponentsStrings);
diff --git a/awx/ui/client/src/shared/switch.block.less b/awx/ui/client/lib/components/switch/_index.less
similarity index 100%
rename from awx/ui/client/src/shared/switch.block.less
rename to awx/ui/client/lib/components/switch/_index.less
diff --git a/awx/ui/client/lib/components/switch/switch.directive.js b/awx/ui/client/lib/components/switch/switch.directive.js
new file mode 100644
index 0000000000..cf33d29f55
--- /dev/null
+++ b/awx/ui/client/lib/components/switch/switch.directive.js
@@ -0,0 +1,22 @@
+const templateUrl = require('~components/switch/switch.partial.html');
+
+function atSwitch () {
+ return {
+ restrict: 'E',
+ replace: true,
+ templateUrl,
+ scope: {
+ hide: '=',
+ onToggle: '&',
+ switchOn: '=',
+ switchDisabled: '=',
+ tooltip: '=',
+ tooltipString: '@',
+ tooltipPlacement: '@',
+ tooltipContainer: '@',
+ tooltipWatch: '='
+ },
+ };
+}
+
+export default atSwitch;
diff --git a/awx/ui/client/lib/components/switch/switch.partial.html b/awx/ui/client/lib/components/switch/switch.partial.html
new file mode 100644
index 0000000000..59dde21588
--- /dev/null
+++ b/awx/ui/client/lib/components/switch/switch.partial.html
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awx/ui/client/lib/theme/index.less b/awx/ui/client/lib/theme/index.less
index eb289aff5a..a9f9d2bdde 100644
--- a/awx/ui/client/lib/theme/index.less
+++ b/awx/ui/client/lib/theme/index.less
@@ -108,7 +108,6 @@
@import '../../src/shared/media-object.block.less';
@import '../../src/shared/text-label';
@import '../../src/shared/upgrade/upgrade.block.less';
-@import '../../src/shared/switch.block.less';
@import '../../src/smart-status/smart-status.block.less';
@import '../../src/workflow-results/standard-out.block.less';
@import '../../src/templates/prompt/prompt.block.less';
diff --git a/awx/ui/client/src/configuration/forms/system-form/configuration-system.partial.html b/awx/ui/client/src/configuration/forms/system-form/configuration-system.partial.html
index 4a20835129..0a32b40b95 100644
--- a/awx/ui/client/src/configuration/forms/system-form/configuration-system.partial.html
+++ b/awx/ui/client/src/configuration/forms/system-form/configuration-system.partial.html
@@ -35,12 +35,7 @@
-
-
-
-
-
-
+