n8n-nodes-arubacentralnextgen
Version:
n8n community node for Aruba Central NextGen API integration with modern monitoring and management capabilities
1,680 lines • 51.9 kB
JavaScript
"use strict";
// descriptions/configuration/scopeManagement.descriptions.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.scopeManagementFields = exports.scopeManagementOperations = void 0;
/**
* Scope Management Configuration Operations
* Unified resource for managing Sites, Site Collections, Device Groups, Device Collections, and Hierarchy
* API Reference: https://developer.arubanetworks.com/new-central-config/reference
*
* This resource consolidates all scope-related operations:
* - Sites: Physical locations in the network
* - Site Collections: Logical groupings of sites
* - Device Groups: Groupings of devices for configuration management
* - Device Collections: Collections of devices
* - Hierarchy: Scope hierarchy information
*/
exports.scopeManagementOperations = {
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
},
},
options: [
// ============================================================================
// Sites Operations
// ============================================================================
{
name: 'Get All Sites',
value: 'getAllSites',
description: 'Retrieve all sites with details like scopeId, scopeName, collectionId, deviceCount, address, and geolocation',
action: 'Get all sites',
},
{
name: 'Get Site',
value: 'getSite',
description: 'Get information about a specific site by scopeId',
action: 'Get a site',
},
{
name: 'Create Site',
value: 'createSite',
description: 'Create a new site with address and geo coordinates',
action: 'Create a site',
},
{
name: 'Update Site',
value: 'updateSite',
description: 'Update an existing site',
action: 'Update a site',
},
{
name: 'Delete Site',
value: 'deleteSite',
description: 'Delete a site by scopeId',
action: 'Delete a site',
},
{
name: 'Bulk Delete Sites',
value: 'bulkDeleteSites',
description: 'Delete multiple sites at once',
action: 'Bulk delete sites',
},
{
name: 'Add Devices to Site',
value: 'addDevicesToSite',
description: 'Add devices to a site',
action: 'Add devices to site',
},
// ============================================================================
// Site Collections Operations
// ============================================================================
{
name: 'Get All Site Collections',
value: 'getAllSiteCollections',
description: 'Retrieve all site collections',
action: 'Get all site collections',
},
{
name: 'Get Site Collection',
value: 'getSiteCollection',
description: 'Get information about a specific site collection',
action: 'Get a site collection',
},
{
name: 'Create Site Collection',
value: 'createSiteCollection',
description: 'Create a new site collection',
action: 'Create a site collection',
},
{
name: 'Update Site Collection',
value: 'updateSiteCollection',
description: 'Update an existing site collection',
action: 'Update a site collection',
},
{
name: 'Delete Site Collection',
value: 'deleteSiteCollection',
description: 'Delete a site collection by scopeId',
action: 'Delete a site collection',
},
{
name: 'Bulk Delete Site Collections',
value: 'bulkDeleteSiteCollections',
description: 'Delete multiple site collections at once',
action: 'Bulk delete site collections',
},
{
name: 'Add Sites to Collection',
value: 'addSitesToCollection',
description: 'Add sites to an existing site collection',
action: 'Add sites to collection',
},
{
name: 'Remove Sites from Collection',
value: 'removeSitesFromCollection',
description: 'Remove sites from a site collection',
action: 'Remove sites from collection',
},
// ============================================================================
// Device Groups Operations
// ============================================================================
{
name: 'Get All Device Groups',
value: 'getAllDeviceGroups',
description: 'Retrieve all device groups',
action: 'Get all device groups',
},
{
name: 'Get Device Group',
value: 'getDeviceGroup',
description: 'Get information about a specific device group',
action: 'Get a device group',
},
{
name: 'Create Device Group',
value: 'createDeviceGroup',
description: 'Create a new device group',
action: 'Create a device group',
},
{
name: 'Create Device Group with Devices',
value: 'createDeviceGroupWithDevices',
description: 'Create a new device group and add devices to it',
action: 'Create device group with devices',
},
{
name: 'Update Device Group',
value: 'updateDeviceGroup',
description: 'Update an existing device group',
action: 'Update a device group',
},
{
name: 'Bulk Delete Device Groups',
value: 'bulkDeleteDeviceGroups',
description: 'Delete multiple device groups at once',
action: 'Bulk delete device groups',
},
{
name: 'Add Devices to Group',
value: 'addDevicesToGroup',
description: 'Add devices to a device group',
action: 'Add devices to group',
},
{
name: 'Remove Devices from Group',
value: 'removeDevicesFromGroup',
description: 'Remove devices from a device group',
action: 'Remove devices from group',
},
// ============================================================================
// Device Collections Operations
// ============================================================================
{
name: 'Get All Device Collections',
value: 'getAllDeviceCollections',
description: 'Retrieve all device collections',
action: 'Get all device collections',
},
{
name: 'Get Device Collection',
value: 'getDeviceCollection',
description: 'Get information about a specific device collection',
action: 'Get a device collection',
},
{
name: 'Create Device Collection',
value: 'createDeviceCollection',
description: 'Create a new device collection',
action: 'Create a device collection',
},
{
name: 'Create Device Collection with Devices',
value: 'createDeviceCollectionWithDevices',
description: 'Create a new device collection and add devices to it',
action: 'Create device collection with devices',
},
{
name: 'Update Device Collection',
value: 'updateDeviceCollection',
description: 'Update an existing device collection',
action: 'Update a device collection',
},
{
name: 'Delete Device Collection',
value: 'deleteDeviceCollection',
description: 'Delete a device collection by scopeId',
action: 'Delete a device collection',
},
{
name: 'Bulk Delete Device Collections',
value: 'bulkDeleteDeviceCollections',
description: 'Delete multiple device collections at once',
action: 'Bulk delete device collections',
},
{
name: 'Add Devices to Device Collection',
value: 'addDevicesToDeviceCollection',
description: 'Add devices to a device collection',
action: 'Add devices to device collection',
},
{
name: 'Remove Devices from Device Collection',
value: 'removeDevicesFromDeviceCollection',
description: 'Remove devices from a device collection',
action: 'Remove devices from device collection',
},
// ============================================================================
// Hierarchy Operations
// ============================================================================
{
name: 'Get Scope Hierarchy',
value: 'getScopeHierarchy',
description: 'Retrieve the scope hierarchy information',
action: 'Get scope hierarchy',
},
],
default: 'getAllSites',
};
// ============================================================================
// Sites Fields
// ============================================================================
const getAllSitesFields = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSites'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Max number of sites to return',
typeOptions: {
minValue: 1,
maxValue: 100,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSites'],
returnAll: [false],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSites'],
},
},
options: [
{
displayName: 'Filter',
name: 'filter',
type: 'string',
default: '',
description: 'OData 4.0 filter (supports scopeName, address, city, state, country, zipcode, collectionName)',
placeholder: 'scopeName eq \'Building A\'',
},
{
displayName: 'Search',
name: 'search',
type: 'string',
default: '',
description: 'Partial or full string free text search',
placeholder: 'office',
},
{
displayName: 'Sort',
name: 'sort',
type: 'string',
default: '',
description: 'Sort by field (scopeName, address, state, country, city, deviceCount, collectionName, zipcode, timezone, longitude, latitude)',
placeholder: 'scopeName ASC',
},
],
},
];
const getSiteFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site to retrieve',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getSite'],
},
},
},
];
const createSiteFields = [
{
displayName: 'Site Name',
name: 'name',
type: 'string',
required: true,
default: '',
description: 'Name of the site scope',
placeholder: 'Building A',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createSite'],
},
},
},
{
displayName: 'Address',
name: 'address',
type: 'string',
default: '',
description: 'Street address of the site',
placeholder: '123 Main St',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createSite'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createSite'],
},
},
options: [
{
displayName: 'City',
name: 'city',
type: 'string',
default: '',
placeholder: 'San Francisco',
},
{
displayName: 'State',
name: 'state',
type: 'string',
default: '',
placeholder: 'California',
},
{
displayName: 'Country',
name: 'country',
type: 'string',
default: '',
placeholder: 'USA',
},
{
displayName: 'Zipcode',
name: 'zipcode',
type: 'string',
default: '',
placeholder: '94105',
},
{
displayName: 'Latitude',
name: 'latitude',
type: 'number',
default: 0,
description: 'Latitude coordinate',
typeOptions: {
numberPrecision: 6,
},
},
{
displayName: 'Longitude',
name: 'longitude',
type: 'number',
default: 0,
description: 'Longitude coordinate',
typeOptions: {
numberPrecision: 6,
},
},
],
},
];
// ============================================================================
// Site Collections Fields
// ============================================================================
const getAllSiteCollectionsFields = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSiteCollections'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Max number of site collections to return',
typeOptions: {
minValue: 1,
maxValue: 100,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSiteCollections'],
returnAll: [false],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllSiteCollections'],
},
},
options: [
{
displayName: 'Filter',
name: 'filter',
type: 'string',
default: '',
description: 'OData 4.0 filter (supports scopeName, description)',
placeholder: 'scopeName eq \'Main Building\'',
},
{
displayName: 'Search',
name: 'search',
type: 'string',
default: '',
description: 'Partial or full string free text search',
placeholder: 'building',
},
{
displayName: 'Sort',
name: 'sort',
type: 'string',
default: '',
description: 'Sort by field (scopeName, description, deviceCount, siteCount)',
placeholder: 'scopeName ASC',
},
],
},
];
// ============================================================================
// Device Groups Fields
// ============================================================================
const getAllDeviceGroupsFields = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceGroups'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Max number of device groups to return',
typeOptions: {
minValue: 1,
maxValue: 100,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceGroups'],
returnAll: [false],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceGroups'],
},
},
options: [
{
displayName: 'Filter',
name: 'filter',
type: 'string',
default: '',
description: 'OData 4.0 filter (supports scopeName)',
placeholder: 'scopeName eq \'Network Devices\'',
},
{
displayName: 'Search',
name: 'search',
type: 'string',
default: '',
description: 'Partial or full string free text search',
placeholder: 'switch',
},
{
displayName: 'Sort',
name: 'sort',
type: 'string',
default: '',
description: 'Sort by field (scopeName, deviceCount)',
placeholder: 'scopeName ASC',
},
],
},
];
// ============================================================================
// Additional Sites Fields
// ============================================================================
const updateSiteFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site to update',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateSite'],
},
},
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateSite'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the site scope',
placeholder: 'Building A',
},
{
displayName: 'Address',
name: 'address',
type: 'string',
default: '',
description: 'Street address of the site',
placeholder: '123 Main St',
},
{
displayName: 'City',
name: 'city',
type: 'string',
default: '',
placeholder: 'San Francisco',
},
{
displayName: 'State',
name: 'state',
type: 'string',
default: '',
placeholder: 'California',
},
{
displayName: 'Country',
name: 'country',
type: 'string',
default: '',
placeholder: 'USA',
},
{
displayName: 'Zipcode',
name: 'zipcode',
type: 'string',
default: '',
placeholder: '94105',
},
{
displayName: 'Latitude',
name: 'latitude',
type: 'number',
default: 0,
description: 'Latitude coordinate',
typeOptions: {
numberPrecision: 6,
},
},
{
displayName: 'Longitude',
name: 'longitude',
type: 'number',
default: 0,
description: 'Longitude coordinate',
typeOptions: {
numberPrecision: 6,
},
},
],
},
];
const deleteSiteFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site to delete',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['deleteSite'],
},
},
},
];
const bulkDeleteSitesFields = [
{
displayName: 'Site IDs',
name: 'ids',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of site scopeIds to delete',
placeholder: 'abc123,def456,ghi789',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['bulkDeleteSites'],
},
},
},
];
const addDevicesToSiteFields = [
{
displayName: 'Destination Scope ID',
name: 'desScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site to add devices to',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToSite'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers to add',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToSite'],
},
},
},
];
// ============================================================================
// Additional Site Collections Fields
// ============================================================================
const getSiteCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site collection to retrieve',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getSiteCollection'],
},
},
},
];
const createSiteCollectionFields = [
{
displayName: 'Collection Name',
name: 'scopeName',
type: 'string',
required: true,
default: '',
description: 'Name of the site collection',
placeholder: 'West Coast Sites',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createSiteCollection'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createSiteCollection'],
},
},
options: [
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the site collection',
},
{
displayName: 'Site IDs',
name: 'siteIds',
type: 'string',
default: '',
description: 'Comma-separated list of site scopeIds to include',
placeholder: 'site1,site2,site3',
},
],
},
];
const updateSiteCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site collection to update',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateSiteCollection'],
},
},
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateSiteCollection'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the site collection',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the site collection',
},
],
},
];
const deleteSiteCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site collection to delete',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['deleteSiteCollection'],
},
},
},
];
const bulkDeleteSiteCollectionsFields = [
{
displayName: 'Collection IDs',
name: 'ids',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of site collection scopeIds to delete',
placeholder: 'abc123,def456,ghi789',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['bulkDeleteSiteCollections'],
},
},
},
];
const addSitesToCollectionFields = [
{
displayName: 'Destination Scope ID',
name: 'desScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site collection to add sites to',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addSitesToCollection'],
},
},
},
{
displayName: 'Site IDs',
name: 'siteIds',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of site scopeIds to add',
placeholder: 'site1,site2,site3',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addSitesToCollection'],
},
},
},
];
const removeSitesFromCollectionFields = [
{
displayName: 'Source Scope ID',
name: 'srcScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the site collection to remove sites from',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeSitesFromCollection'],
},
},
},
{
displayName: 'Site IDs',
name: 'siteIds',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of site scopeIds to remove',
placeholder: 'site1,site2,site3',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeSitesFromCollection'],
},
},
},
];
// ============================================================================
// Additional Device Groups Fields
// ============================================================================
const getDeviceGroupFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device group to retrieve',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getDeviceGroup'],
},
},
},
];
const createDeviceGroupFields = [
{
displayName: 'Group Name',
name: 'scopeName',
type: 'string',
required: true,
default: '',
description: 'Name of the device group',
placeholder: 'Network Switches',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceGroup'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceGroup'],
},
},
options: [
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device group',
},
],
},
];
const createDeviceGroupWithDevicesFields = [
{
displayName: 'Group Name',
name: 'scopeName',
type: 'string',
required: true,
default: '',
description: 'Name of the device group',
placeholder: 'Network Switches',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceGroupWithDevices'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceGroupWithDevices'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceGroupWithDevices'],
},
},
options: [
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device group',
},
],
},
];
const updateDeviceGroupFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device group to update',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateDeviceGroup'],
},
},
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateDeviceGroup'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the device group',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device group',
},
],
},
];
const bulkDeleteDeviceGroupsFields = [
{
displayName: 'Group IDs',
name: 'ids',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device group scopeIds to delete',
placeholder: 'abc123,def456,ghi789',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['bulkDeleteDeviceGroups'],
},
},
},
];
const addDevicesToGroupFields = [
{
displayName: 'Destination Scope ID',
name: 'desScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device group to add devices to',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToGroup'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers to add',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToGroup'],
},
},
},
];
const removeDevicesFromGroupFields = [
{
displayName: 'Source Scope ID',
name: 'srcScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device group to remove devices from',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeDevicesFromGroup'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers to remove',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeDevicesFromGroup'],
},
},
},
];
// ============================================================================
// Device Collections Fields
// ============================================================================
const getAllDeviceCollectionsFields = [
{
displayName: 'Return All',
name: 'returnAll',
type: 'boolean',
default: false,
description: 'Whether to return all results or only up to a given limit',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceCollections'],
},
},
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 100,
description: 'Max number of device collections to return',
typeOptions: {
minValue: 1,
maxValue: 100,
},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceCollections'],
returnAll: [false],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getAllDeviceCollections'],
},
},
options: [
{
displayName: 'Filter',
name: 'filter',
type: 'string',
default: '',
description: 'OData 4.0 filter (supports scopeName)',
placeholder: 'scopeName eq \'Production Devices\'',
},
{
displayName: 'Search',
name: 'search',
type: 'string',
default: '',
description: 'Partial or full string free text search',
placeholder: 'production',
},
{
displayName: 'Sort',
name: 'sort',
type: 'string',
default: '',
description: 'Sort by field (scopeName, deviceCount)',
placeholder: 'scopeName ASC',
},
],
},
];
const getDeviceCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device collection to retrieve',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getDeviceCollection'],
},
},
},
];
const createDeviceCollectionFields = [
{
displayName: 'Collection Name',
name: 'scopeName',
type: 'string',
required: true,
default: '',
description: 'Name of the device collection',
placeholder: 'Production Devices',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceCollection'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceCollection'],
},
},
options: [
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device collection',
},
],
},
];
const createDeviceCollectionWithDevicesFields = [
{
displayName: 'Collection Name',
name: 'scopeName',
type: 'string',
required: true,
default: '',
description: 'Name of the device collection',
placeholder: 'Production Devices',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceCollectionWithDevices'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceCollectionWithDevices'],
},
},
},
{
displayName: 'Additional Fields',
name: 'additionalFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['createDeviceCollectionWithDevices'],
},
},
options: [
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device collection',
},
],
},
];
const updateDeviceCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device collection to update',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateDeviceCollection'],
},
},
},
{
displayName: 'Update Fields',
name: 'updateFields',
type: 'collection',
placeholder: 'Add Field',
default: {},
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['updateDeviceCollection'],
},
},
options: [
{
displayName: 'Name',
name: 'name',
type: 'string',
default: '',
description: 'Name of the device collection',
},
{
displayName: 'Description',
name: 'description',
type: 'string',
default: '',
description: 'Description of the device collection',
},
],
},
];
const deleteDeviceCollectionFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device collection to delete',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['deleteDeviceCollection'],
},
},
},
];
const bulkDeleteDeviceCollectionsFields = [
{
displayName: 'Collection IDs',
name: 'ids',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device collection scopeIds to delete',
placeholder: 'abc123,def456,ghi789',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['bulkDeleteDeviceCollections'],
},
},
},
];
const addDevicesToDeviceCollectionFields = [
{
displayName: 'Destination Scope ID',
name: 'desScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device collection to add devices to',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToDeviceCollection'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers to add',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['addDevicesToDeviceCollection'],
},
},
},
];
const removeDevicesFromDeviceCollectionFields = [
{
displayName: 'Source Scope ID',
name: 'srcScopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId of the device collection to remove devices from',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeDevicesFromDeviceCollection'],
},
},
},
{
displayName: 'Devices',
name: 'devices',
type: 'string',
required: true,
default: '',
description: 'Comma-separated list of device serial numbers to remove',
placeholder: 'SN123456,SN789012',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['removeDevicesFromDeviceCollection'],
},
},
},
];
// ============================================================================
// Hierarchy Fields
// ============================================================================
const getScopeHierarchyFields = [
{
displayName: 'Scope ID',
name: 'scopeId',
type: 'string',
required: true,
default: '',
description: 'The scopeId for which to retrieve hierarchy information',
placeholder: 'abc123-def456',
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getScopeHierarchy'],
},
},
},
{
displayName: 'Scope Type',
name: 'scopeType',
type: 'options',
required: true,
default: 'site',
description: 'The type of scope',
options: [
{
name: 'Device',
value: 'device',
},
{
name: 'Site',
value: 'site',
},
{
name: 'Site Collection',
value: 'site-collection',
},
{
name: 'Device Groups',
value: 'device-groups',
},
{
name: 'Organization',
value: 'org',
},
],
displayOptions: {
show: {
domain: ['configuration'],
resource: ['scopeManagement'],
operation: ['getScopeHierarchy'],
},
},
},
];
// Export all field definitions
exports.scopeManagementFields = [
...getAllSitesFields,
...getSiteFields,
...createSiteFields,
...updateSiteFields,
...deleteSiteFields,
...bulkDeleteSitesFields,
...addDevicesToSiteFields,
...getAllSiteCollectionsFields,
...getSiteCollectionFields,
...createSiteCollectionFields,
...updateSiteCollectionFields,
...deleteSiteCollectionFields,
...bulkDeleteSiteCollectionsFields,
...addSitesToCollectionFields,
...removeSitesFromCollectionFields,
...getAllDeviceGroupsFields,
...getDeviceGroupFields,
...createDeviceGroupFields,
...createDeviceGroupWithDevicesFields,
...updateDeviceGroupFields,
...bulkDeleteDeviceGroupsFields,
...addDevicesToGroupFields,
...removeDevicesFromGroupFields,
...getAllDeviceCollectionsFields,
...getDeviceCollectionFields,
...createDeviceCollectionFields,
...createDeviceCollectionWithDevicesFields,
...updateDeviceCollectionFields,
...deleteDeviceCollectionFields,
...bulkDeleteDeviceCollectionsFields,
...addDevicesToDeviceCollectionFields,
...removeDevicesFromDeviceCollectionFields,
...getScopeHierarchyFields,
];