UNPKG

n8n-nodes-arubacentralnextgen

Version:

n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities

1,153 lines (1,152 loc) 43.2 kB
"use strict"; // methods/configuration/rolesPolicy.methods.ts var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllPolicyGroups = getAllPolicyGroups; exports.createPolicyGroup = createPolicyGroup; exports.updatePolicyGroup = updatePolicyGroup; exports.deletePolicyGroup = deletePolicyGroup; exports.getAllRoles = getAllRoles; exports.getRole = getRole; exports.createRole = createRole; exports.updateRole = updateRole; exports.deleteRole = deleteRole; exports.getAllPolicies = getAllPolicies; exports.getPolicy = getPolicy; exports.createPolicy = createPolicy; exports.updatePolicy = updatePolicy; exports.deletePolicy = deletePolicy; exports.getAllRoleGpids = getAllRoleGpids; exports.getRoleGpid = getRoleGpid; exports.createRoleGpid = createRoleGpid; exports.updateRoleGpid = updateRoleGpid; exports.deleteRoleGpid = deleteRoleGpid; exports.getAllRoleAcls = getAllRoleAcls; exports.getRoleAcl = getRoleAcl; exports.createRoleAcl = createRoleAcl; exports.updateRoleAcl = updateRoleAcl; exports.deleteRoleAcl = deleteRoleAcl; const apiRequest_1 = require("../../helpers/apiRequest"); const responseFormatter_1 = require("../../helpers/responseFormatter"); const logger = __importStar(require("../../helpers/logger")); /** * Roles & Policy Configuration Methods * API Reference: https://developer.arubanetworks.com/new-central-config/reference * Base Path: /network-config/v1alpha1 * * Resources: * - Policy Groups (policy-groups) * - Roles (roles) * - Policies (policies) * - Role Gpid (role-gpids) * - Role ACL (role-acls) */ // ==================================== // Policy Groups Methods // ==================================== /** * Get all policy groups */ async function getAllPolicyGroups() { var _a, _b; const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getAllPolicyGroups operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.offset !== undefined) { queryParams.offset = additionalFields.offset; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/policy-groups'; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug(`Retrieved ${((_a = response.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) || 0} policy groups`, undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getAllPolicyGroups', error); throw error; } } /** * Create a policy group */ async function createPolicyGroup() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting createPolicyGroup operation', undefined, this); } try { const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug('Request body', body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/policy-groups'; const response = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body, queryParams); if (debugMode) { logger.debug('Policy group created successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in createPolicyGroup', error); throw error; } } /** * Update a policy group */ async function updatePolicyGroup() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting updatePolicyGroup operation', undefined, this); } try { const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug('Request body', body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/policy-groups'; const response = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body, queryParams); if (debugMode) { logger.debug('Policy group updated successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in updatePolicyGroup', error); throw error; } } /** * Delete a policy group */ async function deletePolicyGroup() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting deletePolicyGroup operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/policy-groups'; const response = await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint, {}, queryParams); if (debugMode) { logger.debug('Policy group deleted successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in deletePolicyGroup', error); throw error; } } // ==================================== // Roles Methods // ==================================== /** * Get all roles */ async function getAllRoles() { var _a, _b; const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getAllRoles operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.offset !== undefined) { queryParams.offset = additionalFields.offset; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/roles'; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug(`Retrieved ${((_a = response.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) || 0} roles`, undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getAllRoles', error); throw error; } } /** * Get a specific role */ async function getRole() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getRole operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (debugMode) { logger.debug(`Getting role: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/roles/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role retrieved successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getRole', error); throw error; } } /** * Create a role */ async function createRole() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting createRole operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Creating role: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/roles/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body, queryParams); if (debugMode) { logger.debug('Role created successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in createRole', error); throw error; } } /** * Update a role */ async function updateRole() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting updateRole operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Updating role: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/roles/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body, queryParams); if (debugMode) { logger.debug('Role updated successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in updateRole', error); throw error; } } /** * Delete a role */ async function deleteRole() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting deleteRole operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Deleting role: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/roles/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role deleted successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in deleteRole', error); throw error; } } // ==================================== // Policies Methods // ==================================== /** * Get all policies */ async function getAllPolicies() { var _a, _b; const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getAllPolicies operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.offset !== undefined) { queryParams.offset = additionalFields.offset; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/policies'; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug(`Retrieved ${((_a = response.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) || 0} policies`, undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getAllPolicies', error); throw error; } } /** * Get a specific policy */ async function getPolicy() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getPolicy operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (debugMode) { logger.debug(`Getting policy: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/policies/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug('Policy retrieved successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getPolicy', error); throw error; } } /** * Create a policy */ async function createPolicy() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting createPolicy operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Creating policy: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/policies/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body, queryParams); if (debugMode) { logger.debug('Policy created successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in createPolicy', error); throw error; } } /** * Update a policy */ async function updatePolicy() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting updatePolicy operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Updating policy: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/policies/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body, queryParams); if (debugMode) { logger.debug('Policy updated successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in updatePolicy', error); throw error; } } /** * Delete a policy */ async function deletePolicy() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting deletePolicy operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Deleting policy: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/policies/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint, {}, queryParams); if (debugMode) { logger.debug('Policy deleted successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in deletePolicy', error); throw error; } } // ==================================== // Role Gpid Methods // ==================================== /** * Get all role gpids */ async function getAllRoleGpids() { var _a, _b; const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getAllRoleGpids operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.offset !== undefined) { queryParams.offset = additionalFields.offset; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/role-gpids'; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug(`Retrieved ${((_a = response.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) || 0} role gpids`, undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getAllRoleGpids', error); throw error; } } /** * Get a specific role gpid */ async function getRoleGpid() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getRoleGpid operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (debugMode) { logger.debug(`Getting role gpid: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/role-gpids/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role gpid retrieved successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getRoleGpid', error); throw error; } } /** * Create a role gpid */ async function createRoleGpid() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting createRoleGpid operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Creating role gpid: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/role-gpids/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body, queryParams); if (debugMode) { logger.debug('Role gpid created successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in createRoleGpid', error); throw error; } } /** * Update a role gpid */ async function updateRoleGpid() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting updateRoleGpid operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Updating role gpid: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/role-gpids/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body, queryParams); if (debugMode) { logger.debug('Role gpid updated successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in updateRoleGpid', error); throw error; } } /** * Delete a role gpid */ async function deleteRoleGpid() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting deleteRoleGpid operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Deleting role gpid: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/role-gpids/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role gpid deleted successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in deleteRoleGpid', error); throw error; } } // ==================================== // Role ACL Methods // ==================================== /** * Get all role acls */ async function getAllRoleAcls() { var _a, _b; const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getAllRoleAcls operation', undefined, this); } try { const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (additionalFields.limit) { queryParams.limit = additionalFields.limit; } if (additionalFields.offset !== undefined) { queryParams.offset = additionalFields.offset; } if (debugMode) { logger.debug('Query parameters', queryParams, this); } const endpoint = '/network-config/v1alpha1/role-acls'; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug(`Retrieved ${((_a = response.items) === null || _a === void 0 ? void 0 : _a.length) || ((_b = response.data) === null || _b === void 0 ? void 0 : _b.length) || 0} role acls`, undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getAllRoleAcls', error); throw error; } } /** * Get a specific role acl */ async function getRoleAcl() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting getRoleAcl operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.viewType) { queryParams.view_type = additionalFields.viewType; } if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (additionalFields.effective !== undefined) { queryParams.effective = additionalFields.effective; } if (additionalFields.detailed !== undefined) { queryParams.detailed = additionalFields.detailed; } if (debugMode) { logger.debug(`Getting role acl: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/role-acls/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'GET', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role acl retrieved successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in getRoleAcl', error); throw error; } } /** * Create a role acl */ async function createRoleAcl() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting createRoleAcl operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Creating role acl: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/role-acls/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'POST', endpoint, body, queryParams); if (debugMode) { logger.debug('Role acl created successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in createRoleAcl', error); throw error; } } /** * Update a role acl */ async function updateRoleAcl() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting updateRoleAcl operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const bodyRaw = this.getNodeParameter('body', 0, '{}'); let body = {}; try { body = typeof bodyRaw === 'string' ? JSON.parse(bodyRaw) : bodyRaw; } catch (e) { throw new Error('Invalid JSON in Body field'); } const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Updating role acl: ${name}`, body, this); logger.debug('Query parameters', queryParams, this); } const endpoint = `/network-config/v1alpha1/role-acls/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'PATCH', endpoint, body, queryParams); if (debugMode) { logger.debug('Role acl updated successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in updateRoleAcl', error); throw error; } } /** * Delete a role acl */ async function deleteRoleAcl() { const debugMode = logger.isDebugMode(this); if (debugMode) { logger.debug('Starting deleteRoleAcl operation', undefined, this); } try { const name = this.getNodeParameter('name', 0); const additionalFields = this.getNodeParameter('additionalFields', 0, {}); const queryParams = {}; if (additionalFields.objectType) { queryParams.object_type = additionalFields.objectType; } if (additionalFields.scopeId) { queryParams.scope_id = additionalFields.scopeId; } if (additionalFields.persona) { queryParams.persona = additionalFields.persona; } if (debugMode) { logger.debug(`Deleting role acl: ${name}`, queryParams, this); } const endpoint = `/network-config/v1alpha1/role-acls/${encodeURIComponent(name)}`; const response = await apiRequest_1.apiRequest.call(this, 'DELETE', endpoint, {}, queryParams); if (debugMode) { logger.debug('Role acl deleted successfully', undefined, this); } return responseFormatter_1.formatResponse.call(this, response); } catch (error) { logger.error('Error in deleteRoleAcl', error); throw error; } }