Created
July 20, 2022 09:41
-
-
Save eedugon/66b8f7fce3d059faefe790bc5a7190be to your computer and use it in GitHub Desktop.
ui-driver-heztner modified to make use of disablePublic option of the 3.8.0 machine driver
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| "use strict"; | |
| define("nodes/components/driver-hetzner/component", ["exports", "shared/mixins/node-driver"], function (exports, _nodeDriver) { | |
| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| function _toConsumableArray(arr) { | |
| return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); | |
| } | |
| function _nonIterableSpread() { | |
| throw new TypeError("Invalid attempt to spread non-iterable instance"); | |
| } | |
| function _iterableToArray(iter) { | |
| if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); | |
| } | |
| function _arrayWithoutHoles(arr) { | |
| if (Array.isArray(arr)) { | |
| for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { | |
| arr2[i] = arr[i]; | |
| } | |
| return arr2; | |
| } | |
| } | |
| function ownKeys(object, enumerableOnly) { | |
| var keys = Object.keys(object); | |
| if (Object.getOwnPropertySymbols) { | |
| var symbols = Object.getOwnPropertySymbols(object); | |
| if (enumerableOnly) symbols = symbols.filter(function (sym) { | |
| return Object.getOwnPropertyDescriptor(object, sym).enumerable; | |
| }); | |
| keys.push.apply(keys, symbols); | |
| } | |
| return keys; | |
| } | |
| function _objectSpread(target) { | |
| for (var i = 1; i < arguments.length; i++) { | |
| var source = arguments[i] != null ? arguments[i] : {}; | |
| if (i % 2) { | |
| ownKeys(Object(source), true).forEach(function (key) { | |
| _defineProperty(target, key, source[key]); | |
| }); | |
| } else if (Object.getOwnPropertyDescriptors) { | |
| Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); | |
| } else { | |
| ownKeys(Object(source)).forEach(function (key) { | |
| Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); | |
| }); | |
| } | |
| } | |
| return target; | |
| } | |
| function _defineProperty(obj, key, value) { | |
| if (key in obj) { | |
| Object.defineProperty(obj, key, { | |
| value: value, | |
| enumerable: true, | |
| configurable: true, | |
| writable: true | |
| }); | |
| } else { | |
| obj[key] = value; | |
| } | |
| return obj; | |
| } | |
| var LAYOUT = "PHNlY3Rpb24gY2xhc3M9Imhvcml6b250YWwtZm9ybSI+DQogIHt7I2lmIG5lZWRBUElUb2tlbn19DQogIDxmb3JtPg0KICAgIDxkaXYgY2xhc3M9Im92ZXItaHIgci1tYjIwIj4NCiAgICAgIDxzcGFuPkFjY291bnQgQWNjZXNzPC9zcGFuPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InJvdyBmb3JtLWdyb3VwIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5BUEkgVG9rZW4qPC9sYWJlbD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEwIj4NCiAgICAgICAge3tpbnB1dCB0eXBlPSJwYXNzd29yZCIgdmFsdWU9bW9kZWwuaGV0em5lckNvbmZpZy5hcGlUb2tlbiBjbGFzc05hbWVzPSJmb3JtLWNvbnRyb2wiIHBsYWNlaG9sZGVyPSJZb3VyIEhldHpuZXIgQ2xvdWQgQVBJIFRva2VuIn19DQogICAgICAgIDxwIGNsYXNzPSJoZWxwLWJsb2NrIj5DcmVhdGUgaXQgYnkgc3dpdGNoaW5nIGludG8gdGhlDQogICAgICAgICAgPGEgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciIgaHJlZj0iaHR0cHM6Ly9jb25zb2xlLmhldHpuZXIuY2xvdWQiPkhldHpuZXIgQ2xvdWQgQ29uc29sZTwvYT4sIGNob29zaW5nIGEgcHJvamVjdCwgZ28gdG8gQWNjZXNzICZyYXJyOyBUb2tlbnMgYW5kIGNyZWF0ZSBhIG5ldyBBUEkgdG9rZW4gdGhlcmUuPC9wPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAge3t0b3AtZXJyb3JzIGVycm9ycz1lcnJvcnN9fQ0KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1hY3Rpb25zIj4NCiAgICAgIHt7I2lmIGdldHRpbmdEYXRhfX0NCiAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBiZy1wcmltYXJ5IGJ0bi1kaXNhYmxlZCI+DQogICAgICAgIDxpIGNsYXNzPSJpY29uIGljb24tc3Bpbm5lciBpY29uLXNwaW4iPjwvaT4ge3t0ICdnZW5lcmljLmxvYWRpbmcnfX08L2J1dHRvbj4NCiAgICAgIHt7ZWxzZX19DQogICAgICA8YnV0dG9uIHt7YWN0aW9uICJnZXREYXRhIiB9fSBjbGFzcz0iYnRuIGJnLXByaW1hcnkiIGRpc2FibGVkPXt7bm90IG1vZGVsLmhldHpuZXJDb25maWcuYXBpVG9rZW59fT5Db25maWd1cmUgU2VydmVyPC9idXR0b24+DQogICAgICB7ey9pZn19DQogICAgICA8YnV0dG9uIHt7YWN0aW9uICJjYW5jZWwifX0gY2xhc3M9ImJ0biBiZy10cmFuc3BhcmVudCI+e3t0ICdnZW5lcmljLmNhbmNlbCd9fTwvYnV0dG9uPg0KICAgIDwvZGl2Pg0KICA8L2Zvcm0+DQogIHt7ZWxzZX19DQogIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQogICAge3shLS0gVGhpcyBwYXJ0aWFsIGNvbnRhaW5zIHRoZSBxdWFudGl0eSwgbmFtZSwgYW5kIGRlc2NyaXB0aW9uIGZpZWxkcyAtLX19DQogICAgPGRpdiBjbGFzcz0ib3Zlci1ociI+DQogICAgICA8c3Bhbj57e3RlbXBsYXRlT3B0aW9uc1RpdGxlfX08L3NwYW4+DQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0ib3Zlci1ociByLW10MjAgci1tYjIwIj4NCiAgICAgIDxzcGFuPlNldHRpbmdzPC9zcGFuPg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InJvdyBmb3JtLWdyb3VwIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5SZWdpb248L2xhYmVsPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTAiPg0KICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIG9uY2hhbmdlPXt7YWN0aW9uIChtdXQgbW9kZWwuaGV0em5lckNvbmZpZy5zZXJ2ZXJMb2NhdGlvbikgdmFsdWU9InRhcmdldC52YWx1ZSIgfX0+DQogICAgICAgICAge3sjZWFjaCByZWdpb25DaG9pY2VzIGFzIHxjaG9pY2V8fX0NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e3tjaG9pY2UubmFtZX19IHNlbGVjdGVkPXt7ZXEgbW9kZWwuaGV0em5lckNvbmZpZy5zZXJ2ZXJMb2NhdGlvbiBjaG9pY2UubmFtZX19Pnt7Y2hvaWNlLmNpdHl9fTwvb3B0aW9uPg0KICAgICAgICAgIHt7L2VhY2h9fQ0KICAgICAgICA8L3NlbGVjdD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InJvdyBmb3JtLWdyb3VwIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5JbWFnZTwvbGFiZWw+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4NCiAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBvbmNoYW5nZT17e2FjdGlvbiAobXV0IG1vZGVsLmhldHpuZXJDb25maWcuaW1hZ2VJZCkgdmFsdWU9InRhcmdldC52YWx1ZSIgfX0+DQogICAgICAgICAge3sjZWFjaCBpbWFnZUNob2ljZXMgYXMgfGNob2ljZXx9fQ0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17e2Nob2ljZS5pZH19IHNlbGVjdGVkPXt7ZXEgbW9kZWwuaGV0em5lckNvbmZpZy5pbWFnZUlkIGNob2ljZS5pZH19Pnt7Y2hvaWNlLmRlc2NyaXB0aW9ufX08L29wdGlvbj4NCiAgICAgICAgICB7ey9lYWNofX0NCiAgICAgICAgPC9zZWxlY3Q+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5TaXplPC9sYWJlbD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPg0KICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIG9uY2hhbmdlPXt7YWN0aW9uIChtdXQgbW9kZWwuaGV0em5lckNvbmZpZy5zZXJ2ZXJUeXBlKSB2YWx1ZT0idGFyZ2V0LnZhbHVlIiB9fT4NCiAgICAgICAgICB7eyNlYWNoIHNpemVDaG9pY2VzIGFzIHxjaG9pY2V8fX0NCiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e3tjaG9pY2UubmFtZX19IHNlbGVjdGVkPXt7ZXEgbW9kZWwuaGV0em5lckNvbmZpZy5zZXJ2ZXJUeXBlIGNob2ljZS5uYW1lfX0+e3tjaG9pY2UuZGVzY3JpcHRpb259fSAtIHt7Y2hvaWNlLm1lbW9yeX19R0IgTWVtb3J5IC0ge3tjaG9pY2UuZGlza319R0IgRGlzayBzcGFjZTwvb3B0aW9uPg0KICAgICAgICAgIHt7L2VhY2h9fQ0KICAgICAgICA8L3NlbGVjdD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9InJvdyBmb3JtLWdyb3VwIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj4NCiAgICAgICAgICA8YSBocmVmPSJodHRwczovL2Nsb3VkaW5pdC5yZWFkdGhlZG9jcy5pby9lbi9sYXRlc3QvdG9waWNzL2V4YW1wbGVzLmh0bWwiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkNsb3VkLWluaXQgQ29uZmlndXJhdGlvbjwvYT4gKG9wdGlvbmFsKQ0KICAgICAgICA8L2xhYmVsPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTAiPg0KICAgICAgICA8dGV4dGFyZWEgdmFsdWU9e3ttb2RlbC5oZXR6bmVyQ29uZmlnLnVzZXJEYXRhfX0gb25jaGFuZ2U9e3thY3Rpb24gKG11dCBtb2RlbC5oZXR6bmVyQ29uZmlnLnVzZXJEYXRhKSB2YWx1ZT0idGFyZ2V0LnZhbHVlIiB9fSByb3dzPSIzIiBzdHlsZT0id2lkdGg6IDEwMCU7IHJlc2l6ZTogdmVydGljYWwiPjwvdGV4dGFyZWE+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWNvbnRyb2wtc3RhdGljIj5OZXR3b3JrcyAoT3B0aW9uYWwuIFlvdSBoYXZlIHRvIGNyZWF0ZSB0aGVzZSBOZXR3b3JrcyBpbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9jb25zb2xlLmhldHpuZXIuY2xvdWQiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPkhldHpuZXIgQ2xvdWQgQ29uc29sZTwvYT4pPC9sYWJlbD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTQiPg0KICAgICAgICA8c2VsZWN0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIG9uY2hhbmdlPXt7YWN0aW9uICdtb2RpZnlOZXR3b3JrcycgfX0gbXVsdGlwbGU9InRydWUiPg0KICAgICAgICAgIHt7I2VhY2ggbmV0d29ya0Nob2ljZXMgYXMgfG5ldHdvcmt8fX0NCiAgICAgICAgICA8b3B0aW9uIHZhbHVlPXt7bmV0d29yay5pZH19IHNlbGVjdGVkPXt7YXJyYXktaW5jbHVkZXMgbW9kZWwuaGV0em5lckNvbmZpZy5uZXR3b3JrcyBuZXR3b3JrLmlkfX0+e3tuZXR3b3JrLm5hbWV9fSAoe3tuZXR3b3JrLmlwX3JhbmdlfX0pPC9vcHRpb24+DQogICAgICAgICAge3svZWFjaH19DQogICAgICAgIDwvc2VsZWN0Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij4NCiAgICAgICAgICA8bGFiZWwgY2xhc3M9ImFjYy1sYWJlbCI+e3tpbnB1dCB0eXBlPSJjaGVja2JveCIgY2hlY2tlZD1tb2RlbC5oZXR6bmVyQ29uZmlnLnVzZVByaXZhdGVOZXR3b3JrfX0NCiAgICAgICAgICAgIEVFRFVHT046IFVzZSBwcml2YXRlIG5ldHdvcmsgKGZpcnN0IHByaXZhdGUgbmV0d29yayB3aGljaCBpcyBhdHRhY2hlZCB3aWxsIGJlIHVzZWQgZm9yIGNvbW11bmljYXRpb24pDQogICAgICAgICAgPC9sYWJlbD4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPg0KICAgICAgICAgIDxsYWJlbCBjbGFzcz0iYWNjLWxhYmVsIj57e2lucHV0IHR5cGU9ImNoZWNrYm94IiBjaGVja2VkPW1vZGVsLmhldHpuZXJDb25maWcuZGlzYWJsZVB1YmxpY319DQogICAgICAgICAgICBFRURVR09OOiBEaXNhYmxlIHB1YmxpYyBJUHY0IGFuZCBJUHY2IGFkZHJlc3Nlcw0KICAgICAgICAgIDwvbGFiZWw+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIiPg0KICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPkZpcmV3YWxscyAoQmV0YSwgb3B0aW9uYWwuIFlvdSBoYXZlIHRvIGNyZWF0ZSB0aGVzZSBGaXJld2FsbHMgaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vY29uc29sZS5oZXR6bmVyLmNsb3VkIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5IZXR6bmVyIENsb3VkIENvbnNvbGU8L2E+KTwvbGFiZWw+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4NCiAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBvbmNoYW5nZT17e2FjdGlvbiAnbW9kaWZ5RmlyZXdhbGxzJyB9fSBtdWx0aXBsZT0idHJ1ZSI+DQogICAgICAgICAge3sjZWFjaCBmaXJld2FsbENob2ljZXMgYXMgfGZpcmV3YWxsfH19DQogICAgICAgICAgPG9wdGlvbiB2YWx1ZT17e2ZpcmV3YWxsLmlkfX0gc2VsZWN0ZWQ9e3thcnJheS1pbmNsdWRlcyBtb2RlbC5oZXR6bmVyQ29uZmlnLmZpcmV3YWxscyBmaXJld2FsbC5pZH19Pnt7ZmlyZXdhbGwubmFtZX19PC9vcHRpb24+DQogICAgICAgICAge3svZWFjaH19DQogICAgICAgIDwvc2VsZWN0Pg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+DQogICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1jb250cm9sLXN0YXRpYyI+QWRkaXRpb25hbCBTU0ggS2V5czwvbGFiZWw+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00Ij4NCiAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBvbmNoYW5nZT17e2FjdGlvbiAnbW9kaWZ5S2V5cycgfX0gbXVsdGlwbGU9InRydWUiPg0KICAgICAgICAgIHt7I2VhY2gga2V5Q2hvaWNlcyBhcyB8a2V5fH19DQogICAgICAgICAgPG9wdGlvbiB2YWx1ZT17e2tleS5pZH19IHNlbGVjdGVkPXt7YXJyYXktaW5jbHVkZXMgbW9kZWwuaGV0em5lckNvbmZpZy5hZGRpdGlvbmFsS2V5IGtleS5wdWJsaWNfa2V5fX0+e3trZXkubmFtZX19ICh7e2tleS5maW5nZXJwcmludH19KTwvb3B0aW9uPg0KICAgICAgICAgIHt7L2VhY2h9fQ0KICAgICAgICA8L3NlbGVjdD4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTIiPg0KICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tY29udHJvbC1zdGF0aWMiPlBsYWNlbWVudCBncm91cDwvbGFiZWw+DQogICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBvbmNoYW5nZT17e2FjdGlvbiAobXV0IG1vZGVsLmhldHpuZXJDb25maWcucGxhY2VtZW50R3JvdXApIHZhbHVlPSJ0YXJnZXQudmFsdWUiIH19Pg0KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iIiBzZWxlY3RlZD0ie3tub3QgbW9kZWwuaGV0em5lckNvbmZpZy5wbGFjZW1lbnRHcm91cH19Ij48L29wdGlvbj4NCiAgICAgICAgICAgIHt7I2VhY2ggcGxhY2VtZW50R3JvdXBDaG9pY2VzIGFzIHxwbGFjZW1lbnRHcm91cHx9fQ0KICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ7e3BsYWNlbWVudEdyb3VwLm5hbWV9fSIgc2VsZWN0ZWQ9e3tlcSBtb2RlbC5oZXR6bmVyQ29uZmlnLnBsYWNlbWVudEdyb3VwIHBsYWNlbWVudEdyb3VwLm5hbWV9fT57e3BsYWNlbWVudEdyb3VwLm5hbWV9fSAoe3twbGFjZW1lbnRHcm91cC50eXBlfX0pPC9vcHRpb24+DQogICAgICAgICAgICB7ey9lYWNofX0NCiAgICAgICAgICA8L3NlbGVjdD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgICB7eyEtLSBUaGlzIGZvbGxvd2luZyBjb250YWlucyB0aGUgTmFtZSwgTGFiZWxzIGFuZCBFbmdpbmUgT3B0aW9ucyBmaWVsZHMgLS19fQ0KICAgICB7e2Zvcm0tbmFtZS1kZXNjcmlwdGlvbiBtb2RlbD1tb2RlbCBuYW1lUmVxdWlyZWQ9dHJ1ZX19DQogICAgIHt7Zm9ybS11c2VyLWxhYmVscyBpbml0aWFsTGFiZWxzPWxhYmVsUmVzb3VyY2UubGFiZWxzIHNldExhYmVscz0oYWN0aW9uICdzZXRMYWJlbHMnKSBleHBhbmRBbGw9ZXhwYW5kQWxsIGV4cGFuZD0oYWN0aW9uIGV4cGFuZEZuKSB9fQ0KICAgICB7e2Zvcm0tZW5naW5lLW9wdHMgbWFjaGluZT1tb2RlbCBzaG93RW5naW5lVXJsPXNob3dFbmdpbmVVcmwgfX0NCiAgICAge3shLS0gVGhpcyBjb21wb25lbnQgc2hvd3MgZXJyb3JzIHByb2R1Y2VkIGJ5IHZhbGlkYXRlKCkgaW4gdGhlIGNvbXBvbmVudCAtLX19DQogICAgIHt7dG9wLWVycm9ycyBlcnJvcnM9ZXJyb3JzfX0NCiAgICAge3shLS0gVGhpcyBjb21wb25lbnQgc2hvd3MgdGhlIENyZWF0ZSBhbmQgQ2FuY2VsIGJ1dHRvbnMgLS19fQ0KICAgICB7e3NhdmUtY2FuY2VsIHNhdmU9InNhdmUiIGNhbmNlbD0oYWN0aW9uICJjYW5jZWwiKX19DQogIDwvZGl2Pg0KICB7ey9pZn19DQo8L3NlY3Rpb24+DQo="; | |
| var computed = Ember.computed; | |
| var get = Ember.get; | |
| var set = Ember.set; | |
| var alias = Ember.computed.alias; | |
| var service = Ember.inject.service; | |
| exports.default = Ember.Component.extend(_nodeDriver.default, { | |
| driverName: 'hetzner', | |
| needAPIToken: true, | |
| config: alias('model.hetznerConfig'), | |
| app: service(), | |
| init: function init() { | |
| var decodedLayout = window.atob(LAYOUT); | |
| var template = Ember.HTMLBars.compile(decodedLayout, { | |
| moduleName: 'nodes/components/driver-hetzner/template' | |
| }); | |
| set(this, 'layout', template); | |
| this._super.apply(this, arguments); | |
| }, | |
| bootstrap: function bootstrap() { | |
| var config = get(this, 'globalStore').createRecord({ | |
| type: 'hetznerConfig', | |
| additionalKey: [], | |
| serverType: 'cx21', | |
| serverLocation: 'nbg1', | |
| imageId: "168855", | |
| userData: '', | |
| networks: [], | |
| firewalls: [], | |
| usePrivateNetwork: false, | |
| disablePublic: false, | |
| serverLabel: [''], | |
| placementGroup: '' | |
| }); | |
| set(this, 'model.hetznerConfig', config); | |
| }, | |
| validate: function validate() { | |
| this._super(); | |
| if (!this.get('model.hetznerConfig.networks')) { | |
| this.set('model.hetznerConfig.networks', []); | |
| } | |
| if (!this.get('model.hetznerConfig.firewalls')) { | |
| this.set('model.hetznerConfig.firewalls', []); | |
| } | |
| if (!this.get('model.hetznerConfig.serverLabel')) { | |
| this.set('model.hetznerConfig.serverLabel', []); | |
| } | |
| if (!this.get('model.hetznerConfig.additionalKey')) { | |
| this.set('model.hetznerConfig.additionalKey', []); | |
| } | |
| var errors = get(this, 'errors') || []; | |
| if (!get(this, 'model.name')) { | |
| errors.push('Name is required'); | |
| } | |
| if (get(errors, 'length')) { | |
| set(this, 'errors', errors); | |
| return false; | |
| } else { | |
| set(this, 'errors', null); | |
| return true; | |
| } | |
| }, | |
| actions: { | |
| getData: function getData() { | |
| this.set('gettingData', true); | |
| var that = this; | |
| Promise.all([this.apiRequest('/v1/locations'), this.apiRequest('/v1/images'), this.apiRequest('/v1/server_types'), this.apiRequest('/v1/networks'), this.apiRequest('/v1/ssh_keys'), this.apiRequest('/v1/firewalls'), this.apiRequest('/v1/placement_groups')]).then(function (responses) { | |
| that.setProperties({ | |
| errors: [], | |
| needAPIToken: false, | |
| gettingData: false, | |
| regionChoices: responses[0].locations, | |
| imageChoices: responses[1].images.map(function (image) { | |
| return _objectSpread({}, image, { | |
| id: image.id.toString() | |
| }); | |
| }), | |
| sizeChoices: responses[2].server_types, | |
| networkChoices: responses[3].networks.map(function (network) { | |
| return _objectSpread({}, network, { | |
| id: network.id.toString() | |
| }); | |
| }), | |
| keyChoices: responses[4].ssh_keys.map(function (key) { | |
| return _objectSpread({}, key, { | |
| id: key.id.toString() | |
| }); | |
| }), | |
| firewallChoices: responses[5].firewalls.map(function (firewall) { | |
| return _objectSpread({}, firewall, { | |
| id: firewall.id.toString() | |
| }); | |
| }), | |
| placementGroupChoices: responses[6].placement_groups | |
| }); | |
| }).catch(function (err) { | |
| err.then(function (msg) { | |
| that.setProperties({ | |
| errors: ['Error received from Hetzner Cloud: ' + msg.error.message], | |
| gettingData: false | |
| }); | |
| }); | |
| }); | |
| }, | |
| modifyNetworks: function modifyNetworks(select) { | |
| var options = _toConsumableArray(select.target.options).filter(function (o) { | |
| return o.selected; | |
| }).map(function (o) { | |
| return o.value; | |
| }); | |
| this.set('model.hetznerConfig.networks', options); | |
| }, | |
| modifyFirewalls: function modifyFirewalls(select) { | |
| var options = _toConsumableArray(select.target.options).filter(function (o) { | |
| return o.selected; | |
| }).map(function (o) { | |
| return o.value; | |
| }); | |
| this.set('model.hetznerConfig.firewalls', options); | |
| }, | |
| setLabels: function setLabels(labels) { | |
| var labels_list = labels.map(function (l) { | |
| return l.key + "=" + l.value; | |
| }); | |
| this.set('model.hetznerConfig.serverLabel', labels_list); | |
| this._super(labels); | |
| }, | |
| modifyKeys: function modifyKeys(select) { | |
| var _this = this; | |
| var options = _toConsumableArray(select.target.options).filter(function (o) { | |
| return o.selected; | |
| }).map(function (o) { | |
| return _this.keyChoices.find(function (keyChoice) { | |
| return keyChoice.id == o.value; | |
| })["public_key"]; | |
| }); | |
| this.set('model.hetznerConfig.additionalKey', options); | |
| } | |
| }, | |
| apiRequest: function apiRequest(path) { | |
| return fetch('https://api.hetzner.cloud' + path, { | |
| headers: { | |
| 'Authorization': 'Bearer ' + this.get('model.hetznerConfig.apiToken') | |
| } | |
| }).then(function (res) { | |
| return res.ok ? res.json() : Promise.reject(res.json()); | |
| }); | |
| } | |
| }); | |
| });; | |
| "use strict"; | |
| define("ui/components/driver-hetzner/component", ["exports", "nodes/components/driver-hetzner/component"], function (exports, _component) { | |
| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "default", { | |
| enumerable: true, | |
| get: function () { | |
| return _component.default; | |
| } | |
| }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment