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
JavaScript
"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;
}
}