n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
671 lines (670 loc) • 40.4 kB
JavaScript
"use strict";
// descriptions/configuration/rolesPolicy.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.rolesPolicyFields = exports.rolesPolicyOperations = void 0;
/**
* Roles & Policy Configuration Operations
* Resource for managing Policy Groups, Roles, Policies, Role GPIDs, and Role ACLs
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
*
* This resource includes:
* - Policy Groups: Groupings of policies for configuration management
* - Roles: User role definitions
* - Policies: Network policy configurations
* - Role GPIDs: Roles with group policy identifiers
* - Role ACLs: Access control lists for roles
*/
exports.rolesPolicyOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
},
},
options: [
// ============================================================================
// Policy Groups Operations
// ============================================================================
{
name: 'Get All Policy Groups',
value: 'getAllPolicyGroups',
description: 'Read all policy groups',
action: 'Get all policy groups',
},
{
name: 'Create Policy Group',
value: 'createPolicyGroup',
description: 'Create a new policy group',
action: 'Create policy group',
},
{
name: 'Update Policy Group',
value: 'updatePolicyGroup',
description: 'Update an existing policy group',
action: 'Update policy group',
},
{
name: 'Delete Policy Group',
value: 'deletePolicyGroup',
description: 'Delete a policy group',
action: 'Delete policy group',
},
// ============================================================================
// Roles Operations
// ============================================================================
{
name: 'Get All Roles',
value: 'getAllRoles',
description: 'Read all roles',
action: 'Get all roles',
},
{
name: 'Get Role',
value: 'getRole',
description: 'Read a specific role by name',
action: 'Get a role',
},
{
name: 'Create Role',
value: 'createRole',
description: 'Create a new role by unique name',
action: 'Create role',
},
{
name: 'Update Role',
value: 'updateRole',
description: 'Update an existing role',
action: 'Update role',
},
{
name: 'Delete Role',
value: 'deleteRole',
description: 'Delete a role by name',
action: 'Delete role',
},
// ============================================================================
// Policies Operations
// ============================================================================
{
name: 'Get All Policies',
value: 'getAllPolicies',
description: 'Read all policies',
action: 'Get all policies',
},
{
name: 'Get Policy',
value: 'getPolicy',
description: 'Read a specific policy by name',
action: 'Get a policy',
},
{
name: 'Create Policy',
value: 'createPolicy',
description: 'Create a new policy by unique name',
action: 'Create policy',
},
{
name: 'Update Policy',
value: 'updatePolicy',
description: 'Update an existing policy',
action: 'Update policy',
},
{
name: 'Delete Policy',
value: 'deletePolicy',
description: 'Delete a policy by name',
action: 'Delete policy',
},
// ============================================================================
// Role GPIDs Operations
// ============================================================================
{
name: 'Get All Role GPIDs',
value: 'getAllRoleGpids',
description: 'Read all roles with group policy identifiers',
action: 'Get all role gpids',
},
{
name: 'Get Role GPID',
value: 'getRoleGpid',
description: 'Read a specific role GPID by name',
action: 'Get a role gpid',
},
{
name: 'Create Role GPID',
value: 'createRoleGpid',
description: 'Create a new role with GPID',
action: 'Create role gpid',
},
{
name: 'Update Role GPID',
value: 'updateRoleGpid',
description: 'Update an existing role GPID',
action: 'Update role gpid',
},
{
name: 'Delete Role GPID',
value: 'deleteRoleGpid',
description: 'Delete a role GPID by name',
action: 'Delete role gpid',
},
// ============================================================================
// Role ACLs Operations
// ============================================================================
{
name: 'Get All Role ACLs',
value: 'getAllRoleAcls',
description: 'Read all role access control lists',
action: 'Get all role acls',
},
{
name: 'Get Role ACL',
value: 'getRoleAcl',
description: 'Read a specific role ACL by name',
action: 'Get a role acl',
},
{
name: 'Create Role ACL',
value: 'createRoleAcl',
description: 'Add a new role ACL',
action: 'Create role acl',
},
{
name: 'Update Role ACL',
value: 'updateRoleAcl',
description: 'Update an existing role ACL',
action: 'Update role acl',
},
{
name: 'Delete Role ACL',
value: 'deleteRoleAcl',
description: 'Delete a role ACL by name',
action: 'Delete role acl',
},
],
default: 'getAllPolicyGroups',
};
// ============================================================================
// Policy Groups Fields
// ============================================================================
const getAllPolicyGroupsFields = [
{
displayName: 'Limit',
name: 'limit',
type: 'number',
required: true,
default: 100,
description: 'Limit for pagination',
typeOptions: {
minValue: 1,
maxValue: 1000,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['getAllPolicyGroups'],
},
},
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
required: true,
default: 0,
description: 'Offset for pagination',
typeOptions: {
minValue: 0,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['getAllPolicyGroups'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['getAllPolicyGroups'],
},
},
options: [
{
displayName: 'View Type',
name: 'viewType',
type: 'options',
default: 'LIBRARY',
description: 'LIBRARY - Returns shared objects in library. LOCAL - Returns configurations for a scope and persona.',
options: [
{ name: 'Library', value: 'LIBRARY' },
{ name: 'Local', value: 'LOCAL' },
],
},
{
displayName: 'Object Type',
name: 'objectType',
type: 'options',
default: 'SHARED',
description: 'Retrieves LOCAL or SHARED or both configuration objects',
options: [
{ name: 'Local', value: 'LOCAL' },
{ name: 'Shared', value: 'SHARED' },
{ name: 'Both', value: 'BOTH' },
],
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID (mandatory for view_type = LOCAL)',
placeholder: 'scope-123',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Filters configuration specific to given persona type',
},
{
displayName: 'Detailed',
name: 'detailed',
type: 'boolean',
default: false,
description: 'Whether to include annotations in the returned json',
},
{
displayName: 'Effective',
name: 'effective',
type: 'boolean',
default: false,
description: 'Whether to return effective configuration (hierarchically merged)',
},
],
},
];
const createPolicyGroupFields = [
{
displayName: 'Body',
name: 'body',
type: 'json',
required: true,
default: '{}',
description: 'Policy group configuration in JSON format',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['createPolicyGroup'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['createPolicyGroup'],
},
},
options: [
{
displayName: 'Object Type',
name: 'objectType',
type: 'options',
default: 'SHARED',
description: 'LOCAL - To create local objects. SHARED - To create shared objects.',
options: [
{ name: 'Local', value: 'LOCAL' },
{ name: 'Shared', value: 'SHARED' },
],
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID (mandatory for object_type = LOCAL)',
placeholder: 'scope-123',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Persona (mandatory for object_type = LOCAL)',
},
],
},
];
const updatePolicyGroupFields = [
{
displayName: 'Body',
name: 'body',
type: 'json',
required: true,
default: '{}',
description: 'Policy group configuration in JSON format',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['updatePolicyGroup'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['updatePolicyGroup'],
},
},
options: [
{
displayName: 'Object Type',
name: 'objectType',
type: 'options',
default: 'SHARED',
description: 'LOCAL - To update local objects. SHARED - To update shared objects.',
options: [
{ name: 'Local', value: 'LOCAL' },
{ name: 'Shared', value: 'SHARED' },
],
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID (mandatory for object_type = LOCAL)',
placeholder: 'scope-123',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Persona (mandatory for object_type = LOCAL)',
},
],
},
];
const deletePolicyGroupFields = [
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['rolesPolicy'],
operation: ['deletePolicyGroup'],
},
},
options: [
{
displayName: 'Object Type',
name: 'objectType',
type: 'options',
default: 'SHARED',
description: 'LOCAL - To delete local objects. SHARED - To delete shared objects.',
options: [
{ name: 'Local', value: 'LOCAL' },
{ name: 'Shared', value: 'SHARED' },
],
},
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
default: '',
description: 'Scope ID (mandatory for object_type = LOCAL)',
placeholder: 'scope-123',
},
{
displayName: 'Persona',
name: 'persona',
type: 'string',
default: '',
description: 'Persona (mandatory for object_type = LOCAL)',
},
],
},
];
// ============================================================================
// Roles Fields
// ============================================================================
const getAllRolesFields = [
{
displayName: 'Limit',
name: 'limit',
type: 'number',
required: true,
default: 100,
description: 'Limit for pagination',
typeOptions: { minValue: 1, maxValue: 1000 },
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoles'] } },
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
required: true,
default: 0,
description: 'Offset for pagination',
typeOptions: { minValue: 0 },
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoles'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoles'] } },
options: [
{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] },
{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
],
},
];
const getRoleFields = [
{
displayName: 'Name',
name: 'name',
type: 'string',
required: true,
default: '',
description: 'Unique name of the role',
placeholder: 'my-role',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRole'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRole'] } },
options: [
{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] },
{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
{ displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false },
{ displayName: 'Effective', name: 'effective', type: 'boolean', default: false },
],
},
];
const createRoleFields = [
{
displayName: 'Name',
name: 'name',
type: 'string',
required: true,
default: '',
description: 'Unique name of the role',
placeholder: 'my-role',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRole'] } },
},
{
displayName: 'Body',
name: 'body',
type: 'json',
required: true,
default: '{}',
description: 'Role configuration in JSON format',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRole'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRole'] } },
options: [
{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
],
},
];
const updateRoleFields = [
{
displayName: 'Name',
name: 'name',
type: 'string',
required: true,
default: '',
description: 'Unique name of the role',
placeholder: 'my-role',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRole'] } },
},
{
displayName: 'Body',
name: 'body',
type: 'json',
required: true,
default: '{}',
description: 'Role configuration in JSON format',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRole'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRole'] } },
options: [
{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
],
},
];
const deleteRoleFields = [
{
displayName: 'Name',
name: 'name',
type: 'string',
required: true,
default: '',
description: 'Unique name of the role',
placeholder: 'my-role',
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRole'] } },
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRole'] } },
options: [
{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] },
{ displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' },
{ displayName: 'Persona', name: 'persona', type: 'string', default: '' },
],
},
];
// ==================================================================
// Policies, Role GPIDs, and Role ACLs (using compact syntax for efficiency)
// ==================================================================
// Note: These use condensed TypeScript syntax - all fields follow the same pattern as above
const getAllPoliciesFields = [{ displayName: 'Limit', name: 'limit', type: 'number', required: true, default: 100, typeOptions: { minValue: 1, maxValue: 1000 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllPolicies'] } } }, { displayName: 'Offset', name: 'offset', type: 'number', required: true, default: 0, typeOptions: { minValue: 0 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllPolicies'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllPolicies'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const getPolicyFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-policy', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getPolicy'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getPolicy'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const createPolicyFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-policy', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createPolicy'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createPolicy'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createPolicy'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const updatePolicyFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-policy', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updatePolicy'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updatePolicy'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updatePolicy'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const deletePolicyFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-policy', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deletePolicy'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deletePolicy'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const getAllRoleGpidsFields = [{ displayName: 'Limit', name: 'limit', type: 'number', required: true, default: 100, typeOptions: { minValue: 1, maxValue: 1000 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleGpids'] } } }, { displayName: 'Offset', name: 'offset', type: 'number', required: true, default: 0, typeOptions: { minValue: 0 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleGpids'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleGpids'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const getRoleGpidFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-gpid', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRoleGpid'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRoleGpid'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const createRoleGpidFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-gpid', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleGpid'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleGpid'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleGpid'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const updateRoleGpidFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-gpid', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleGpid'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleGpid'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleGpid'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const deleteRoleGpidFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-gpid', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRoleGpid'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRoleGpid'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const getAllRoleAclsFields = [{ displayName: 'Limit', name: 'limit', type: 'number', required: true, default: 100, typeOptions: { minValue: 1, maxValue: 1000 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleAcls'] } } }, { displayName: 'Offset', name: 'offset', type: 'number', required: true, default: 0, typeOptions: { minValue: 0 }, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleAcls'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getAllRoleAcls'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const getRoleAclFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-acl', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRoleAcl'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['getRoleAcl'] } }, options: [{ displayName: 'View Type', name: 'viewType', type: 'options', default: 'LIBRARY', options: [{ name: 'Library', value: 'LIBRARY' }, { name: 'Local', value: 'LOCAL' }] }, { displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }, { name: 'Both', value: 'BOTH' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }, { displayName: 'Detailed', name: 'detailed', type: 'boolean', default: false }, { displayName: 'Effective', name: 'effective', type: 'boolean', default: false }] }];
const createRoleAclFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-acl', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleAcl'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleAcl'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['createRoleAcl'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const updateRoleAclFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-acl', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleAcl'] } } }, { displayName: 'Body', name: 'body', type: 'json', required: true, default: '{}', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleAcl'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['updateRoleAcl'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
const deleteRoleAclFields = [{ displayName: 'Name', name: 'name', type: 'string', required: true, default: '', placeholder: 'my-role-acl', displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRoleAcl'] } } }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { domain: ['configuration'], resource: ['rolesPolicy'], operation: ['deleteRoleAcl'] } }, options: [{ displayName: 'Object Type', name: 'objectType', type: 'options', default: 'SHARED', options: [{ name: 'Local', value: 'LOCAL' }, { name: 'Shared', value: 'SHARED' }] }, { displayName: 'Scope ID', name: 'scopeId', type: 'string', default: '', placeholder: 'scope-123' }, { displayName: 'Persona', name: 'persona', type: 'string', default: '' }] }];
// Export all field definitions
exports.rolesPolicyFields = [
...getAllPolicyGroupsFields,
...createPolicyGroupFields,
...updatePolicyGroupFields,
...deletePolicyGroupFields,
...getAllRolesFields,
...getRoleFields,
...createRoleFields,
...updateRoleFields,
...deleteRoleFields,
...getAllPoliciesFields,
...getPolicyFields,
...createPolicyFields,
...updatePolicyFields,
...deletePolicyFields,
...getAllRoleGpidsFields,
...getRoleGpidFields,
...createRoleGpidFields,
...updateRoleGpidFields,
...deleteRoleGpidFields,
...getAllRoleAclsFields,
...getRoleAclFields,
...createRoleAclFields,
...updateRoleAclFields,
...deleteRoleAclFields,
];